Hirdetés

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

  • kovisoft
    őstag

    Srácok szeretnék kérni egy kis segítséget.
    Van egy string tömböm és a következő adatok vannak benne:
    adat1 = cikkszám
    adat2 = darabszám

    B301;1
    F100;9
    G120;20
    P203;6
    B301;1
    F100;9
    G120;20
    A9G;12
    P203;2
    B301;8

    Rendezni kellene a tömböt, úgy hogy minden cikkszámból csak 1 szerepeljen benne, de a darabszámokat össze kell adni.

    pl.:
    B301;10
    F100;18
    G120;40
    P203;8
    A9G;12

    Tudnátok nekem segíteni? (elég fáradt vagyok már, hogy jól pörögjön az agyam)
    Már kezdek befáradni, de addig nem fekszem le amíg ezzel ma nem végzek.
    Előre is köszi.

    Egy lehetséges megoldás:
    Rendezed a string tömbödet (pl. qsort). Végigmész a rendezett tömb elemein, minden elemre a stringet kettéválasztod a pontosvessző mentén (pl. strchr-rel megkeresed a ';' karaktert, és lecseréled 0-ra). Az első rész lesz a cikkszám, ezt megjegyzed, a második részt atoi-val integerré alakítod, ez a darabszám. Ha a cikkszám ugyanaz, mint az előző, akkor csak szimplán hozzáadod a darabszámot az előzőek összegéhez. Ha új cikkszámhoz értél vagy vége a tömbnek, akkor az előző cikkszámot kiírod egy új tömbbe, mellé az összeadogatott darabszámot.

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