Răspuns :
Răspuns:
#include <iostream>
using namespace std;
struct nod{
int inf;
nod *urm;
}*lista;
void adaugareFinal(nod *&lista, int x){
nod *q = new nod;
q -> inf = x;
q -> urm = NULL;
if(lista == NULL)
lista = q;
else{
nod *t = lista;
while(t -> urm)
t = t -> urm;
t -> urm = q;
}
}
int f(nod *lista){
int nrPoz = 0;
for(nod *p=lista; p; p=p->urm)
if(((p -> inf)%2 == 0) && ((p -> inf) >= 0))
++nrPoz;
return nrPoz;
}
void adaugareMijloc(nod *mij, int x){
nod *q = new nod;
q -> inf = x;
q -> urm = mij -> urm;
mij -> urm = q;
}
void dublare(nod *lista){
nod *q = lista;
while(q){
if(q -> inf >= 0){
adaugareMijloc(q, q->inf*2);
q = q -> urm;
}
q = q -> urm;
}
}
void afisare(nod *lista){
for(nod *p=lista; p; p=p->urm)
cout << p -> inf << ' ';
}
int main()
{
int nr;
cin >> nr;
while(nr != 100){
adaugareFinal(lista, nr);
cin >> nr;
}
cout << f(lista) << endl;
dublare(lista);
afisare(lista);
return 0;
}
Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.