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.
- Nyilvántartod a darabszámot, ami kezdetben 0.
- Ciklussal végigmész a String karakterein.
- Megvizsgálod, hogy az adott karakter egyenlő-e "a"-val.
- Ha egyenlő, akkor növeled a darabszámot.
- HappyEnd();
Elég régen tanultam a pascal, de remélem, hogy ez segít:
....
Program feladat1;
var s: string;
function hanyDarabA(var s: string) : integer;
var i, n, db : integer;
begin
n := length(s);
db := 0;
for i := 1 to n do
if (s[i] = 'a') then
db := db + 1;
hanyDarabA := db;
end;
Begin
write('s: ');
readln(s);
writeln(hanyDarabA(s));
end.
.....
A prog.ide.sk-n sokat tanulhatsz a pascalról.
Picit hosszú lett az a függvény :):
function CharNumber( s : string; ch : char) : integer;
var i : integer;
begin
CharNumber := 0;
for i := 1 to Length(s) do if s[i] = ch then Inc(CharNumber);
end;
Ha esetleg egy függvény nélküli kellene, én is írtam egyet.
A ChN-t azért deklaráltam Byte típusúnak, mivel egy sztring 255 karakter hosszú lehet maximum és ha az adott betűből az összes a string hossza, akkor se lépi túl a limitet. :-)
Nem tudom része -e a feladatnak, de meg is lehet adni hogy milyen betűt számoljon.
Program Betuszamlalo;
Var
s : String;
I : Byte;
ch : Char;
ChN : Byte;
Begin
Write(#13#10,'Kérem a szöveget : ');
ReadLn(s);
Write(#13#10,'Milyen betűt számoljunk meg? : ');
ReadLn(ch);
ChN := 0;
for I:=1 To Length(S) do
if ch = s[i] Then
Inc(ChN);
WriteLn(ChN,' darab ',ch,' betű van.');
readln;
end.
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!