Hirdetés

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

  • Pcmagicnet
    csendes tag

    Pár hsz-el feljebb van minta a file-ból való olvasásra. ;) A for ciklust akkor szokás használni, ha tudod, hogy hányszor kell lefutnia, mert pl a file első sorában megadod a sorok számát, egyébbként a while. A probléma is ehhez köthető. A ciklus magod össz vissz ennyit tartalmaz: hossz[i] = c; /* rövidített ciklus */, ezért is célszerű (pláne kezdőknek) a ciklus magot új sorba írni. A másik probléma az, hogy nem vizsgálod meg sehol sem a szavak hosszát, hanem egyből bele is teszed a tömbbe.
    A ? operátornak nem ez a "megszokott" használati esete, ez átláthatóbb lenne sokkal if-ként.
    valtozo = (feltetel) ? ertek_ha_igaz : ertek_ha_hamis
    Én így csinálnám: ha a beolvasott szó hossza megfelelő, akkor átmásolnám tömbbe és növelném a tömbbeli szavak számát. mielött neki esnél egy problémának találj ki rá egy programozási nyelvtől független algoritmust, próbáld ki papíron, hogy jó-e. Így kivédhető lett volna az, hogy meg se vizsgáltad a beolvasott szó hosszát. ;)

    Köszi, próbálkozom. A tömbök kezelését még nem nagyon értem. Ha átmásolom az egyik tombből a másikba az 5 karakternél hosszabb szavakat, akkor az hogyan helyezkedik el a tömbben? Hogy tudom számolni vagy növelni a szavak számát? Úgy tanultam, hogy 1 tömbelem 1 karaktert tartalmaz.
    pl: a tömbök indexei:
    tomb[0] = 'h';
    tomb[1] = 'e';
    tomb[2] = 'l';
    tomb[3] = 'l';
    tomb[4] = 'o';
    tomb[5] = '\0'; szóköz vagy sortérésnél beírja a 0 -a karaktert?

    ....és hogy folytatódik tovább?
    így?
    tomb[6] = 'm';
    tomb[7] = 'i';
    tomb[8] = 'z';
    tomb[9] = 'u';
    tomb[10] = '\0';

    ..és ezt hogy lehet kiíratni? Vagy nem jól gondolom az egészet?

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