Witam, mam problem z dodawaniem elementów do listy jednokierunkowej. Kod wstawiam w c++, w pascalu też nie mogłem się z tym uporać. C++ dopiero zaczynam, więc jeszcze nie mam opanowanej składni, ale nie w tym problem.
Ogólnie prosta sprawa, nie mam problemów z bardziej skomplikowanymi programami na listach, a najprostsza rzecz mnie rozwala. Wstawiam prosty program wstawiający nowy element do łańcucha, dopóki wprowadzona wartość != 0.
Zarówno w pascalu jak i w c++ runtime error (variable p is being used without being inicialized)
#include<iostream>
using namespace std;
struct node
{
int w;
node *next;
};
void dodaj(int v, node *first) //wstawia na poczatek
{
node *p;
new(p) node;
p ->w = v;
p->next = first;
first = p;
}
void wyswietl(node *q)
{
while (q != NULL)
{
cout << q->w << " -> ";
q = q->next;
}
}
int main ()
{
node *first = NULL;
int x;
cin>>x;
while (x!=0)
{
dodaj(x,first);
cin>>x;
}
wyswietl(first);
getchar();
return 0;
}