Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak]pocetak rada sa Listom

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak]pocetak rada sa Listom

[ Pregleda: 2068 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

negative7
Ivan Raic

Član broj: 186110
Poruke: 151
95.156.169.*



Profil

icon [Zadatak]pocetak rada sa Listom08.05.2009. u 14:13 - pre 122 meseci
Potrebno je preraditi ovaj program tako da se cvorovi liste n0,n1,n2,n3 deklariraju kao pokazivaci,te da se vrsi dinamicka alokacija i dealokacija njihove memorije.

Code:

struct node
{
    int data;
    struct node *next;
};
typedef struct node node;
typedef struct node* pnode;

void main()
{
    pnode head;
    node n0,n1,n2,n3;

    n0.data=50;
    n1.data=100;
    n2.data=150;
    n3.data=200;

    n0.next=&n1;
    n1.next=&n2;
    n2.next=&n3;
    n3.next=NULL;
    
    head=&n0;
    while(head!=NULL)
    {
        printf("%d\t",head->data);
        head=head->next;
    }
}


evo sto sam ja nacinio

Code:

struct node
{
    int data;
    struct node *next;
};
typedef struct node node;
typedef struct node* pnode;

void main()
{
    pnode head;
    pnode p;
    
    for(int i=0;i<4;i++)
    {
        head=(pnode)malloc(sizeof(node));
        printf("Upisi broj> ");
        scanf("%d",&head->data);
        head=head->next;
        
    }
    head=NULL;
    
    p=&head[0];  // jeli ovo isto kao p=head;
    while(p!=NULL)
    {
        printf("%d\t",p->data);
        p=p->next;
        
    }
}


Molio bih pomoc uz objasnjenje ako ne predstavljaa problem,hvala.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 2574



+1072 Profil

icon Re: [Zadatak]pocetak rada sa Listom08.05.2009. u 14:45 - pre 122 meseci
Evo gde su greške:

1. OK, nije greška, nego warning, nisi uključio potrebne hedere (<stdio.h> i <malloc.h>)
2. head treba da ti služi da pokazuje na početak liste. Razmisli šta se dešava u liniji u kojoj piše head=head->next (a da nisi prethodno dodelio vrednost članu strukture next)? Šta ti posle ove komande pokazuje na početak liste?
3. Šta se dešava u liniji head=NULL

Kada budeš odgovorio na ova pitanja, zadatak će se sam rešiti.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4860
87.116.181.*

Jabber: xfiles@elitesecurity.org


+622 Profil

icon Re: [Zadatak]pocetak rada sa Listom08.05.2009. u 16:08 - pre 122 meseci
Pogledaj ovde:
http://www.elitesecurity.org/t154369-0#2232517
Realizovane su mnoge funkcije koje ti trebaju za rad sa jednostruko spregnutom listom.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak]pocetak rada sa Listom

[ Pregleda: 2068 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.