Hogyan lehetne összeszámolni hogy, egy karakter sorozat (szöveg) egyenként hány db-ot tartalmaz az angol abc betüiből? (C nyelv)
Képernyőre írja, hogy az angol abc karaktereiből egyenként mennyit tartalmazott a szöveg. Ebben a kiírásban a karakterek abc sorrendben kerüljenek ki a képernyőre egymás alá, és mellettük szóközzel elválasztva szerepeljen, hogy abból a karakterből mennyi volt a szövegben. Egy karakter kis és nagybetűs változata között különbséget teszünk, először a kisbetűket, aztán a nagybetűket írassuk ki.
ASCII kódokat kellne felhasználni? Hogyan?
Fogsz egy (két) 26 elemű tömböt, kinullázod. Mégy végig a szövegen, minden karakterből kivonsz 'a'-t ('A'-t) és az így kapott indexnek megfelelő tömb elemet növeled.
Kiírásnál csak a tömbön kell végigmenni, az indexhez adni 'a'-t ('A'-t) és kiírni az értéket.
char myText[] = "hujujsdlkjasdlkjasd-.,6321879856";
int num[256] = {0};
int i = 0;
for (; i<sizeof(myText); ++i)
{
++num[myText[i]];
}
char toWrite[] = "abcdefghijklmnopqrstuvwxyz";
for (i = 0; i<sizeof(toWrite); ++i)
{
printf("%c: %d\n", toWrite[i], num[toWrite[i]]);
}
Ez csak fix szövegre működik, és csak a kisbetűket írja ki. Fel tudod fejleszteni?
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!