Forum » Programiranje » [C] dvosmerni seznam
[C] dvosmerni seznam
aceton ::
napisat morm program (podprogram), ki vsatvi novo vozlišče z vsebino el pred vozlišče pos
in sicer men je uspelo narediti naslednje:
deklaracija seznama:
ostalo delam v glavnem programi:
napako mi javi na začetku else stavka (assignment from incompatible pointer type) vendar je ne znam rešiti. kaj bi bilo lahko narobe?
in sicer men je uspelo narediti naslednje:
deklaracija seznama:
//element oz. vozlisce
struct seznam {
int data;
struct seznam *next; //kazalec na naslednji element
struct seznam *previous; // kazalec na prejšnji element
};
// celoten seznam
struct seznam *prvi, *zadnji;
int positionNmb; //položaj elementa v obliki indeksa - za komuniakcijo z uporabniki
struct element *positionLnk; //položaj elementa, izrazen v obliki povezave - kazalec
//pomožna funkcija - komunikacija med uporanikom - pretvorbva in deksa elementa v kazalec na element
struct seznam* nmbToLnk (int posNmb){
//kazalec do katerega zelimo priti
struct seznam *pos=prvi;
int i;
for(i=0; i<posNmb; i++){
pos=pos->next;
}
return pos;
}ostalo delam v glavnem programi:
printf("Vpisi element: ");
scanf("%d", &el);
printf("Vpisi polozaj: ");
scanf("%d", &positionNmb);
//če ni nobenega elementa v seznam, ali je element manjši od 0 oz večji od števila vseh elementov v seznam - tedaj javi, da dani položaj ne obstaja
if ((prvi==NULL) || (positionNmb<0) || positionNmb>NumEl) {
printf("Seznam nima danega polozaja! \n");
printf("Pritisni tipko za nadaljevanje...");
while(getchar()!= '\n');
getchar();
}
else {
positionLnk = nmbToLnk(positionNmb);
struct seznam *tmp, pom, pom1;
tmp=(struct seznam*)malloc(sizeof(struct seznam));
tmp->data=el;
tmp->next=NULL;
tmp->previous=NULL;
while (pom!=positonLnk)
pom=pom->next;
pom->previosu=pom1;
pom1->next=tmp;
tmp->previosu= pom1;
pom=tmp->next;
pom->previous=tmp;
}
}napako mi javi na začetku else stavka (assignment from incompatible pointer type) vendar je ne znam rešiti. kaj bi bilo lahko narobe?
aceton ::
javi jo v 16. vrstici (positionLnk = nmbToLnk(positionNmb);) in sicer tako kot sem napisala mi napiše assignment from incompatible pointer type

Invictus ::
Narobe deklaracije spremenljivk oz. vračanje napačnega tipa iz funkcije ...
Saj si že skoraj sama našla napako ...
Saj si že skoraj sama našla napako ...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | enojno povezan seznam -izpis nazajOddelek: Programiranje | 4007 (3547) | Randomness |
| » | [C] Seznam s poljemOddelek: Programiranje | 2709 (2189) | aceton |
| » | statistika črk v stringu C++Oddelek: Programiranje | 2200 (1936) | Tutankhamun |
| » | [C] Povezani seznami in kazalciOddelek: Programiranje | 2720 (2287) | Good Guy |
| » | [C] Narascajoce sortiranje linearnega seznamaOddelek: Programiranje | 2001 (1890) | Jebiveter |