Mi a megoldása ennek a feladatnak? (Pascal)
Adott egy maximum 100 karaktert tartalmazó szöveg. Állapítsa meg, hány szót tartalmaz, ha feltételezzük, hogy a szöveg elején, ill. végén található betűsorokat leszámítva minden szóközzel határolt karaktersorozat egy-egy szó! A kezdő szó előtt és a befejező szó mögött értelemszerűen nem feltétlenül van szóköz.
Előre is köszönöm!
Ha Free Pascalt lehet használni, akkor én így csinálnám:
[code]
program darabol;
{$mode objfpc}{$H+}
uses Classes, SysUtils;
var
szoveg : string;
szovegtar : TStringList;
begin
WriteLn('Kérem a max. 100 karakter hosszú szöveget: ');
ReadLn(szoveg);
szovegtar:=TStringList.Create;
ExtractStrings( [' '], [], PChar(szoveg), szovegtar);
Writeln('A szavak száma: ',szovegtar.count);
szovegtar.free;
readln;
end.
[/code]
Ha Turbo Pascalban kell, akkor szét lehet vágni a szöveget a szóközöknél a Pos, Copy, Delete függvényekkel illetve eljárásokkal. Vagy, ha feltételezzük, hogy az első szó előtt illetve az utolsó szó után nincsen szóköz, akkor a Pos-al meg lehet keresni szépen egyesével a szóközöket, majd a talált pozíción törölni a szóközt, növelni egy számláló értékét, aztán ezt ismételgetni addig amíg a pos ad vissza 0tól nagyobb értéket. A végén persze még egyet hozzá kell adni majd a számlálóhoz, hogy az utolsó szó is bele legyen számolva.
A következő hibaüzenetek vannak:
1. Identifier not found "StringList"
2. Error in type definition
3. Identifier not found "StringList"
4. Syntax error , " )expected but "identifier CHAR" found
és végül: compilation aborted
Hát ennyire szerencsétlen nem lehetsz. Tessék, az alábbi linkről letöltheted a programot:
*****
Benne van a forráskód, és a futtatható fájl is.
* Automatikusan eltávolított tartalom.
Nem vagyok szerencsétlen.
De köszi
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!