Răspuns :
Răspuns:
#include <iostream>
using namespace std;
struct node {
int info;
node *next;
};
node *pare=NULL, *imp=NULL;
int n,i,num;
void adauga(node *&p, int num)
{
node *q=new node, *r;
q->info=num; q->next=NULL;
if (p==NULL) p=q;
else{
r=p;
while (r->next!=NULL)
{
r=r->next;
}
r->next=q;
}
}
void afisare(node *p)
{
node *q=p;
while (q!=NULL)
{
cout << q->info << " ";
q=q->next;
}
cout << "\n";
}
int main()
{
cout << "n= "; cin >> n;
cout << "introdu " << n << " numere naturale \n";
for (i=1; i<=n; ++i)
{
cin >> num;
if (num%2==0) adauga(pare, num);
else adauga(imp, num);
}
cout << "Lista parelor: ";
if (pare!=NULL) afisare(pare);
else cout << " e vida... \n";
cout << "Lista imparelor: ";
if (imp!=NULL) afisare(imp);
else cout << " e vida...";
}
Explicație:
Am considerat că lista iniţială se introduce de la consolă, nu am creat o listă cu numerele iniţiale, ci numai cu cele pare şi alta cu cele impare
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!