void izvediUkaz(struct ukaz ukaz, struct array *listVlakov) { int stevilkaVlaka = ukaz.VlakID; int indeksVlaka = najdiVlak(listVlakov, stevilkaVlaka); if(strcmp(ukaz.Ukaz, "P") == 0) { struct vlak *vlak; if(indeksVlaka == -1) { vlak = malloc(sizeof(struct vlak)); vlak->VlakID = ukaz.VlakID; vlak->prikljuceni.velikost = 0; dodajElement(listVlakov, vlak); } else { vlak = (struct vlak*)listVlakov->array[indeksVlaka]; } int check = najdiVagon(&vlak->prikljuceni, ukaz.VagonID); if(check == -1) { struct vagon *vagon = malloc(sizeof(struct vagon)); vagon->VagonID = ukaz.VagonID; vagon->tezaVagona = ukaz.tezaVagona; dodajElement(&vlak->prikljuceni, vagon); } } else { if(indeksVlaka != -1) { struct vlak *vlak = (struct vlak*)listVlakov->array[indeksVlaka]; int stevilkaVagona = ukaz.VagonID; int check = najdiVagon(&vlak->prikljuceni, stevilkaVagona); if(check != -1) { struct vagon *vagon = (struct vagon*)vlak->prikljuceni.array[check]; odstraniElement(&vlak->prikljuceni, vagon, cmprVagon); } } } }
int main() { int doDodania = 2; for (;doDodania<10; doDodania+=2) { dodajElement(doDodania); } wyswietlWszystko(); /*WAZNE!!! Zwolnienie pamieci po zakonczeniu uzywania*/ free(tablicaLiczb); return 0; }