Sunteți pe pagina 1din 1

NR 1 Test de evaluare Liste liniare simplu şi dublu înlănţuite...................................................................

1. Scrieţi funcţia CreareLista care citeşte din fişierul numere.txt un şir de n numere naturale şi creează o listă care
memorează în noduri cele n numere.
2. Scrieţi funcţia Afisare care afişează informaţiile din nodurile listei.
3. Scrieţi funcţia Elimina, care primind ca parametru un pointer la primul nod al listei şi un întreg x, caută primul nod
care memorează valoarea x, îl elimină şi returnează valoarea 1. Dacă x nu apare în listă, funcţia va returna 0.
4. Scrieţi funcţia Adauga care primind ca parametru un pointer la primul nod din listă, inserează la începutul listei un
nod ce memorează valoarea 99, iar la sfârşitul listei un nod ce memorează valoarea 999.
5. Scrieţi funcţia EliminaPare care elimină toate nodurile din listă ce memorează numere pare cuprinse între 12 şi 18,
folosind apeluri ale funcţiei Elimina.
6. Scrieţi funcţia Numara care primind ca parametru un pointer la o listă, returnează numărul de noduri memorate
înaintea celui de informaţie minimă. De exemplu, dacă lista este 10, 21, 3, 4, 6, 3, 5, se va returna valoarea 2, deoarece
sunt două noduri înaintea nodului cu valoarea minimă 3. Mai există un nod ce memorează 3, dar primul este cel care
contează.
Funcţia main a programului vostru va fi următoarea:
int main()
{
CreareLista(L) ;
Adauga(L) ;
cout<< “\n Lista initiala : ” ;
Afisare() ;
EliminaPare() ;
cout<< “\n Lista dupa eliminarea numerelor pare intre 12 si 18 : ” ;
Afisare() ;
cout<< “\n Numar de noduri inaintea celei cu informatie minima : ”<< Numara(L) ;
return 0 ;
}
Exemplu:
numere.txt Se va fişa la ecran:
10 Lista initiala : 99 12 7 18 12 4 55 16 16 23 11 999
12 7 18 12 4 55 16 16 23 11 Lista dupa eliminarea numerelor pare intre 12 si 18:
99 7 4 55 23 11 999
Numar de noduri inaintea celei cu informatie minima : 2

NR 2 Test de evaluare Liste liniare simplu şi dublu înlănţuite...................................................................


1. Scrieţi funcţia CreareLista care citeşte din fişierul cifre.txt un şir de n cifre cuprinse între 0 şi 9 şi creează o listă
care memorează în noduri cele n cifre. Cele n cifre formează un număr natural.
2. Scrieţi funcţia Afisare care afişează numărul memorat cifră cu cifră în listă.
3. Scrieţi funcţia Par, care primind ca parametru un pointer la primul nod al listei, returnează valoarea 1 dacă numărul
memorat în listă este par sau returnează 0 dacă numărul este impar. Paritatea este dată de cifra din ultimul nod al listei.
4. Scrieţi funcţia Insereaza care primind ca parametru un pointer la primul nod din listă, adaugă după fiecare cifră 1 din
listă un nou nod care memorează 0.
5. Scrieţi funcţia Baza4 care returnează 1 dacă toate cifrele din listă sunt strict mai mici decât 4, sau returnează 0 dacă
cel puţin o cifră este mai mare sau egală cu 4.
6. Scrieţi funcţia Elimina care primind ca parametru un pointer la primul nod din listă, şterge toate nodurile din listă care
sunt mai mari sau egale decât 4.
Funcţia main a programului vostru va fi următoarea:
int main()
{
CreareLista(L) ;
cout<< “\n Numarul initial : ” ;
Afisare() ;
if (Par(L) == 1)
cout<< “\n Numarul este impar ” ;
else cout<<”\n Numarul este par” ;
Insereaza() ;
cout<<”\n Numarul dupa inserarea dupa fiecare 1 a unui 0 : ” ;
Afisare() ;
if (Baza4(L) == 1)
cout<< “\n Numarul este in baza 4 ” ;
else cout<<”\n Numarul nu este in baza 4” ;
Elimina(L) ;
cout<< “\n Numarul dupa eliminarea cifrelor mai mari de 4 : ” ;
Afisare() ;
return 0 ;
}
Exemplu: Se va fişa la ecran:
cifre.txt Numarul initial : 1231145921
10 Numarul este impar
1 2 3 1 1 4 5 9 2 1 Numarul dupa inserarea dupa fiecare 1 a unui 0 :
10231010459210
Numarul nu este in baza 4
Numarul dupa eliminarea cifrelor mai mari de 4 :
10231010210

S-ar putea să vă placă și