Pascal: szöveg betűinek megszámlálása
Üdv mindenkinek!
Ez itt első pascalos cikkem, és közkívánatra esetleg még többet is írhatok.
A program annyit tesz, hogy megszámolja a beadott szöveg betűit és kiírja képernyőre.
A program önmagáért beszél, vagyis nem sokat fűzök hozzá, csupán annyit, hogy a hozzáfűznivalók a forrásban vannak kommentek formájában.
A teljes forrás:
program betuszamlalo;
const
BetuKarakterek = ['A'..'Z','a'..'z'];
var
// az elemek indexe megfelel az angol abc betűinek sorszámával
// pld.: betuk[0] az ‘A’ betűt jelölik ; betuk[2] a ‘C’ betűt stb
// és minden elem az adott betű előfordulásainak számát tartalmazza
betuk: array[0..25] of Integer;
// feltölti a betuk tömböt a szoveg karakterlánc alapján
procedure szamol(szoveg: String);
var
i: Integer;
c: Char;
begin
for i := 1 to Length(szoveg) do
begin
// c-ben eltároljuk az adott karakter nagybetűs változatát
// így a szoveg-ben lévő kisbetűk nem okoznak gondot a továbbiakban
c := UpCase(szoveg[i]);
// a c karakternek megfelelő indexű tömbelem értéket megnöveljük
if c in BetuKarakterek then
Inc(betuk[Byte(c) - 65]);
end;
end;
// kiírja az egyes betűk előfordulását a betuk tömb segítségével
procedure kiir;
var
i: Byte;
begin
for i := 0 to 25 do
if betuk[i] > 0 then
begin
WriteLn(Chr(65 + i), ‘: ‘, betuk[i]);
end;
end;
// bekér egy szöveget, ami a függvény visszatérési értéke lesz
function beker: String;
begin
Write(‘Kérem a szöveget: ‘);
Readln(beker);
end;
begin
szamol(beker);
Writeln;
kiir;
Readln;
end.
Valamennyi hozzászólást az RSS 2.0 hírcsatornán lehet követni. Szóljon hozzá, vagy adjon a saját honlapjáról egy visszakövetést.






Hali és üdv!
Kiprobáltam a program forrás kódot, a képen és a forrásban mellékelt között találtam pár hibát, de javitásuk után is a constansra hibát észlel a TP… pontosvesszőre hagyatkozva, probáltam módositani, de nem engedte akkor se futatni…
Ha tudsz segíteni előre is megköszönném!
Üdv,
István
Hello.
Több okból is lehet rossz:
Ha Másolás/Beillesztés-t használtál, akkor rossz karakterek kerülhettek a fájlba. Ilyen például az aposztróf pár helyen.
A TP nem ismeri a //-megjegyzéstípust. Írd át { valami } vagy (* valami *) formára, vagy csak töröld ki.
A beker függvénnyel is baja lehet Readln(beker) miatt.
Egyelőre ennyi.
Ha esetleg még nem lenne jó, másold be ide a hibás sort.
Helló badogman !
Nekem semmi időm mostanság.
Örülök, hogy újra feltűntél
Köszi a segítséget!
Hy Bősze.
Nem neked kell megköszönni, stormnak osztottam a tudományt.
Köszi!
Elindult a progi 
ott meg müködött és debugba ment is… De kiderült akinek kellet a program 92′-es progit használtak és ott még más volt a kódolás a const tökéletes
összeakadtak picit a kódolási hibák
De sikerült kijavitani és mennek a dolgok mégegyszer köszi:P
Remélem tudtok segíteni ! Egy olyan progi kéne ami hasonló mint ez csak annyival különböző hogy kikéne írni csak az A betüket a mondatból, az első szóból és a második szóból külön sorban…
Jaja, de volt 1 progi amit használtam const-ra hivatkozott és átkellet írjam type-ra
Viszont ha valaki olvasgatja a blog-ot akkor lenne 1 kérésem!
Előre is köszönöm, meghálálnám!!!
Üdv,
Storm
Rendben. $-)
Megkeresem a számlaszámomat;)
Hehe
Csak tele van hibával, forumozgatunk haverral
hátha tudnak segíteni.. eddig egész jól megy a dolog… De ha kell elküldöm az eddigi forrás anyagot, egyébként ettől a progitól függ a barátom következő éve
hogy átmegy-e vagy sem xD
Már majdnem kész a progi
Hát elküldheted, ha akarod. Mégse hagyhatjuk, hogy haver megbukjon, mert hova vezetne az, ugye?