Anonymní profil peter99 – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter99 – Programujte.comAnonymní profil peter99 – Programujte.com

 

Příspěvky odeslané z IP adresy 85.135.133.–

peter99
C / C++ › Pridanie noveho zaznamu do s…
5. 12. 2009   #120668

Zdravim,

mam opat velky problem so spajanym dynamickym zoznamom.

Mam takyto kod:

typedef struct prvek {
int hodnota;
struct prvek *p_dalsi;
} PRVEK;

PRVEK *alokuj_a_testuj(void)
{
PRVEK *p_pom;

p_pom = (PRVEK *) malloc(sizeof(PRVEK));
if (p_pom == NULL) {
printf("Malo pameti\n");
exit(1);
}
return p_pom;
}


int main(void)
{
int i, n, k;
PRVEK *p_prv, *p_akt, *p_pred;

n = 10;

/* vytvoreni prvniho prvku */
p_prv = alokuj_a_testuj();
p_prv->hodnota = 1;
p_prv->p_dalsi = NULL;
p_akt = p_prv;

/* vytvoreni vsech dalsich prvku */
for (i = 2; i <= n; i++) {
p_akt->p_dalsi = alokuj_a_testuj();
p_akt = p_akt->p_dalsi;
p_akt->hodnota = i;
p_akt->p_dalsi = NULL;
}


for (p_akt = p_prv; p_akt != NULL; p_akt = p_akt->p_dalsi) {
printf("%2d [%p]\n", p_akt->hodnota, p_akt);
}

/* zaverecne uvolneni pameti */
for (p_akt = p_prv; p_akt != NULL; ) {
p_prv = p_akt;
p_akt = p_akt->p_dalsi;
free((void *) p_prv);
}
return 0;
}





Vsetko mi jasne, len teraz mi ide o to, ze by som chcel pridat novy zaznam. Nakoniec zoznamu by som to vedel pridat, ale ja to chcem pridat napr. na poziciu 3 a ostane by sa posunulo doprava. Vobec mi to nechce spravne ist, uz som s tym stravil cely vecer.

Teda chcem aby napr mi potom vzniklo:

1,2,3, NoveCislo, 4, 5, 6, 7, 8, 9, 10

Chapete o co mi ide?
Treba tam aj niekde mallocnut jedno miesto.

Prosim, ak viete, poradte mi.

Dakujem velmi pekne.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý