Kezdőoldal » Számítástechnika » Programozás » Mássalhangzó, magánhangzó és...

Mássalhangzó, magánhangzó és betű számláló Pascalban?

Figyelt kérdés

Sziasztok!


Egy olyan programot kellene írnom Pascalban, ami kér egy szöveget és kiírja hogy mennyi mássalhangzó és magánhangzó található a szövegben, aztán megkérdezi hogy milyen betű számaira vagyunk kíváncsiak és azt is kiírja.


Nos, mégis hogy nézni ki ez a program? A mássalhangzókhoz és magánhangzókhoz tömböt kellene használnom?



2016. jan. 2. 21:26
1 2 3 4 5
 1/43 anonim ***** válasza:

Én egyszerűsíteném a dolgot.

Nem kérik, hogy melyik betűből mennyi van.

A szövegen való iterálás közben lenne 1-1 számláló a kért számoknak, amit az iteráció előtt nullázok. Az iteráció közben amit talált, azt növeli egy if-es szerkezetben.

A végén kiíratnám a kért számokat.


Ha kell az is, melyik betűből mennyi van, akkor használnék tömb számlálót a betűkhöz. A 0. helyen B 1. helyen ... De ez a feladat ezt nem kívánja.

2016. jan. 2. 21:33
Hasznos számodra ez a válasz?
 2/43 A kérdező kommentje:
Én írtam rosszul! Tegyük fel hogy fut a program és megkérdezi tőlünk azt hogy melyik betűnek a számait szeretnénk tudni, itt beírjuk például hogy 'f', a program pedig kiírja hogy az adott szövegben hány 'f' található.
2016. jan. 2. 21:39
 3/43 anonim ***** válasza:

Egy tömböt a teljes ABC-re. Lehet külön számláló a msh, mgh-nak if-ben.

Ha kell külön betűcsoportokról is kérdés, akkor utólag azon iterálok végig. A bekért betűből lehet a tömb n. elemét lekérni, ami az ABC egyik betűjéhez tartozó számlálót.

2016. jan. 2. 21:54
Hasznos számodra ez a válasz?
 4/43 A kérdező kommentje:
Ezt egy rövid példaprogrammal nem tudnád bemutatni?
2016. jan. 2. 21:56
 5/43 A kérdező kommentje:
A karakterszámláló részét megoldottam sikeresen, viszont a mássalhangzó és magánhangzó számlálót egyáltalán nem értem.
2016. jan. 2. 22:40
 6/43 ejbenjaro ***** válasza:

Csinálj egy halmazt a magánhangzóknak. Ha a vizsgált betű benne van a halmazban, azaz eleme annak, akkor növeled a magánhangzó számlálót.

program mgh;

Var s:string;

I:integer;


Begin

Readln(s);

For i:=1 to length(s) do

If lowercase(s[i]) in ['a','e','i','o','u'] then inc(maganhangzo);

Writeln('maganhangzok: ',maganhangzo);

End.

2016. jan. 2. 23:01
Hasznos számodra ez a válasz?
 7/43 anonim ***** válasza:
feltéve, ha a karakter betű, azaz ha int(ch) >= 'a' és int(ch) <= 'z', akkor működik az msh / mgh megkülönböztetés, mert lehet space, tab, CR, LF, szám, spec char is.
2016. jan. 2. 23:13
Hasznos számodra ez a válasz?
 8/43 A kérdező kommentje:
És hogyan csinálok halmazt a magánhangzóknak? Az elejétől nem értem az egészet sajnos.
2016. jan. 2. 23:30
 9/43 anonim ***** válasza:

Ha minden betű számossága le van tárolva egy tömbbe, akkor abban benne van a mgh és az msh is. De ha csak egy-egy előre definiált karaktercsoport (msh, mgh, szám) kell, ezeknek külön létrehozhatsz számlálót és kinullázni, majd esetenként növelni. De utólag is ki lehet őket szedni.


Tömbben is lehet tárolni a karaktereket, hogy 0-25ig a betűk a-z, 26-35-ig a számok 0-9-ig.


tömb létrehozása és kinullázása: karakterek[('z' - 'a') + ('9' - '0')]

iteráció a bemeneti szövegen karakterenként

diff = 0

ha int(ch) >= 'a' és int(ch) <= 'z', akkor diff = 'a' /* kis betűk */

ha int(ch) >= 'A' és int(ch) <= 'Z', akkor diff = 'A' /* nagy betűk */

ha int(ch) >= '0' és int(ch) <= '9', akkor diff = '0' és num++ /* számok */


ha (diff > 0), akkor karakterek[ch - diff]++

ha (diff == 'a' vagy diff == 'A'), akkor {

megnézni, hogy ch mássalhangzó-e (fentebb már említett módon), ha igen, {akkor növelni az msh számlálót} különben {növelni az mgh számlálót}

}


Innentől kezdve megvan a msh, mgh, num számláló és megvannak a különböző betűkhöz rögzített különböző számlálók egy tömbben.


Ez már tényleg a megoldás szinte.

2016. jan. 3. 00:44
Hasznos számodra ez a válasz?
 10/43 A kérdező kommentje:
És ezeket hogyan deklarálom?
2016. jan. 3. 00:51
1 2 3 4 5

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!