Hogyan írhatok betűszámláló programost free pascal-lal?
Egy olyan programra lenne szükségem, ami bekér egy szöveget, és megszámolja, hogy hány pl.:a betű van benne.
A segítséget előre is köszönöm.
Eddig a Prog.hu-ra írtam, javítottam egy rövid C#-os programot válaszként, de mire kész lett a kommentekkel együtt a moderátor lezárta témát a semmitmondó címe miatt :( Sajna még a C# lassabban megy mint a Delphi.
Amúgy sem törném magam :) mivel a kérdezőnk még válaszra sem méltatott minket, bár a felvetésed érdekes a karakterkódolás miatt, én is kíváncsi lennék rá hogyan oldaná meg.
Bocsánat a késői reagálásért, de elfelejtettem megnézni, hogy érkezett-e válasz.
Köszönöm a sok választ. Most már sokkal tisztább, még mindig nem értem teljesen, de majd csak kibogozom.
A [link] már olvasom egy ideje, de ott még nem találtam megoldást a feladatra.
Mi az, amit nem értesz pontosan a feladat kapcsán? Többféle megoldást is leírtunk itt, én is írtam egyet, SimkoL is írt egyet.
Mi az ami problémát okoz a megértésben? Én csak azért kérdem hogy segíteni tudjak a megértésben, mi az amit elmagyarázzak még.
Érdekes, hogy nem láttál megoldást erre a problémára, mert én találtam. Az eljárások, függvényeknél van egy ilyen példa, ami megszámolja a szóköz karaktereket:
program Pelda04;
var s:string;
function helyekszama(x:string):integer;
var i,h:integer;
begin
h:=0;
for i:=1 to length(x) do
if x[i]=' ' then h:=h+1;
helyekszama:=h;
end;
begin
write('Irj be egy modnatot: ');
readln(s);
writeln('A mondatban ',helyekszama(s),' szokoz van.');
end.
----
Úgy látszik, hogy a prog.ide.sk nálad mást mutat mint nállam.
Nem tudom, hogy mit lehet ezen nem érteni.
program Pelda04; --> a program neve Pelda04
var s:string; --> Van benne egy karakterlánc változó
function helyekszama(x:string):integer; --> Írunk egy függvényt, ami megszámolja a szóköz karaktereket a mondatban, és visszatéríti azoknak a darabszámát.
var i,h:integer; --> Két változó: i - ciklusváltozó, a h-ban számoljuk a megfelelő karaktereket
begin --> a függvény elkezdődött
h:=0; --> Kezdetben nem tudjuk, hogy hány szóköz van a mondatban, ezért ezt az értéket nullára állítjuk
for i:=1 to length(x) do --> egy ciklussal bejárjuk a karakterlánc karaktereit. A length(x) az x karakter hosszát adja meg.
if x[i]=' ' then h:=h+1; --> Ha az i. karakter szóköz, akkor növeljük a h-t.
helyekszama:=h; --> a függvény visszatérítési értéke h-lesz.
end; --> függvény vége
begin --> itt kezdődik a főprogram
write('Irj be egy mondatot: '); --> Kiíratjuk a képernyőre,hogy "Irj be egy mondatot:"
readln(s); --> Beolvassuk a karakterláncot a billentyűzetről.
writeln('A mondatban ',helyekszama(s),' szokoz van.'); --> Kiírjuk az eredményt.
end. --> Főprogram vége.
További 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!