Witam
Uczę się do egzaminu i mam drobny problem muszę stworzyc funkcję która doda do juz istniejącej listy elementy. elementy maja być wstawione miedzy juz istniejace elementy. czyli miedzy pierwszym a drugim powinien byc nowy element, miedzy drugim a trzecim nastepny itd. W moim programie za to odpowiada funkcja wynikowa. ale niestety nic sie nie dzieje.
Oto cały kod jaki ja napisałem.
#include
#include
#include
using namespace std;
struct node
{
int val;
node *next;
};
void dodajelement(node *&lista , int x) //
{
node *pom;
node *pom2 ;
if (lista==NULL)
{
pom=new node;
pom -> val = x;
pom -> next = NULL;
lista=pom;
cout<val<<" ";
pom=NULL;
}
else
{
pom=lista;
while (pom->next!=NULL)
{
pom=pom->next;
}
pom2 = new node;
pom2->val =x;
pom2->next =NULL;
pom ->next=pom2;
cout<val<<" ";
}
}
node tworzliste(node *&lista)
{
srand( time( NULL ) );
for (int i=0;i<20;i++)
{
int z;
z = 1+rand() % 15;
dodajelement(lista , z);
}
}
void wynikowa(node *&lista)
{
node *pom=lista;
while(pom->next!=NULL)
{
node *pom2=new node;
pom2->val=00000000;
pom2->next=pom->next;
pom=pom->next->next;
}
}
int main(int argc, char** argv)
{
node *lista=NULL;
tworzliste(lista);
wynikowa(lista);
system("pause");
return 0;
}