Hirdetés

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

  • #36268800
    törölt tag

    Javasolt valami whitespace-szel elválasztani a számokat. A scanf és társai ilyenkor nem tesznek különbséget egy ill. több különböző típusú whitespace között. Azaz ha a fájlban épp tabot vagy fájl végét sikerült használnod, azt is meg fogja enni space-ként.

    1 2 3 4 5
    6 7 8 9 10
    ...

    Az fscanf visszatérési értékét érdemes vizsgálni, ami a fájl végét illeti. Azt adja vissza, hány formátumsztringbeli értéket töltött fel sikeresen. Ha 5 számról volt szó, akkor sikeres beolvasásnál 5-öt ad vissza.

    Primitív példakód:

    int szamok[5];
    while(fscanf(fp, "%d %d %d %d %d", szamok, szamok+1, szamok+2, szamok+3, szamok+4) == 5)
    {
    // egy sor feldolgozása
    }

    Nem tudom, mennyire ismered a C-t, meg pontosan mit akarsz vele csinálni. Javasolt csinálni egy Lottoszam struktúrát, ha bármi komolyabbat csinálni kell vele. És lehet ciklusban olvasni az 5 db számot, csak akkor macerásabb a hibakezelés...

    Ha mind el kell tárolni, akkor ismét érdekes kérdés következik:
    1. ismerjük előre a darabszámot (fájl elejére oda van-e írva): VLA vagy malloc
    2. nem ismerjük: nyújtózkodó tömb, láncolt lista, maximális pufferméret, stb.

    Szóval ez a C legmacerásabb problémája.

    Arra gondoltam, hogy egy láncolt listába beolvasom a sorok tartalmát, tehát a struktúrám valahogy úgy nézne ki, hogy

    typedef struct lottoHet{
    int szam1;
    int szam2;
    int szam3;
    int szam4;
    int szam5;
    struct lottoHet *next;
    }lottoHet;

    miután ez megvan, végigpörgetem a listát és megszámoltatom egy 90 elemű tömbben, hogy egy-egy számot hányszor húztak ki az eddigi évek során. Puszta kíváncsiságból szeretném megírni a programot. Nyilván minimális eltérés lesz egy-egy darabszám között, mivel "90 alatt az 5" a lottó 5ös valószínűsége. :D Egyéni szórakozás...

    Alapvetően nem gondoltam arra, hogy megszámolnám a sorokat, inkább találja ki a program, legyen okosabb annál, mintsem hogy mindent "a szájába rágjak".

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