Hirdetés

Új hozzászólás Aktív témák

  • Ereshkigal
    őstag

    #include <stdio.h>

    main()
    {
    int c;
    int gyak[ 256 ] = { 0 }; /* az egész tömböt nullázza */
    while ( ( c = getchar() ) != '@' )
    ++gyak[ c ];
    for ( c = 0; c < 256; ++c )
    if ( gyak[ c ] )
    printf( "%c: %d\n", c, gyak[ c ] );
    }

    Írjunk programot, amely a billentyűzetről látható karaktereket olvas mindaddig, amíg a @ karaktert meg nem kapja! A program határozza meg és írja képernyőre a beolvasott különböző karaktereket és azok gyakoriságát!

    Ez egy megoldott feladat volt. Kérdésem lenne, hogy jól értem-e amit csinál.

    míg a beütött karakter nem egyenlő @-val, addig folyamatosan tölti fel a tömböt, majd a for ciklus számolja a leütött karakterek számát és hogy melyikből mennyi van?(ezt itt nem teljesen vágom, hogyan számolja)
    majd az if szerkezet kiírja? :Y

    Megelőztek. :)
    While ciklus: karaktereket olvas be, amíg nem ütsz entert úgy, hogy szerepel a @ karakter a begépelt szövegben. Közben a gyak-ban eltárolja, hogy az adott (ASCII kódú) karakterből mennyi darab volt.
    For ciklus: végigfut az előzőleg feltöltött gyak-on. Ha az adott elem nem nulla (tehát volt olyan karakter beolvasáskor), akkor kiírja azt, illetve annak darabszámát.

Új hozzászólás Aktív témák