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

  • buherton

    őstag

    válasz Neil Watts #5701 üzenetére

    Szia!

    Jó gondolat a karaktertömb és jó a probléma felvetés! Fél siker. :)

    Egy struktúrát használnék pl.:
    typedef struct
    {
    char isMinus;
    unsigned int len;
    char *number;
    } number_s

    A fájlban ASCII-ként van letárolva, így amikor letárolnám a struktúrámba, akkor kivonnám az offsetet és egyszerű számként tárolnám, hogy később a műveletek során már ne kelljen ezzel foglalkozni.

    A műveletek kicsit összetettebbek, de valóban a papíron való számolásra érdemes visszavezetni. Amiből kindulhatsz, hogy összeadásnál a leghosszabb szám hossza vagy plusz egy lesz az összeg hossza. Kivonásnál maximum a leghosszabb szám hossza.

    Amit viszont ne kövess el, hogy konstans értékeket használsz! Ha ismerkedsz még csak a nyelvvel, akkor a prototípus lehet fix számú és akkor a logikát ki lehet próbálni, de utána illik generálissá tenni. Ehhez pedig melegen ajánlom a malloc/free függvényt. A struktúrában sem véletlenül van tömb pointer :P .

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