Sunteți pe pagina 1din 1

Examen de restanta - 31 august 2020

Precizari
 Nu se vor folosi variabile globale.
 Se pot folosi pentru rezolvare si alte functii decat cea impusa prin enunt, dar cea impusa prin enunt
este obligatorie.
 Punctele 1) si 2) ale subiectului propus vor fi rezolvate in cadrul unui singur program C.

Subiect propus pentru rezolvare


1) Se dau 2 vectori (tablouri unidimensionale) ce contin un acelasi numar de valori de tip intreg, pozitive
si mai mici sau egale cu 50.
Se cere sa se scrie o functie care sa gaseasca valorile identice din cei 2 vectori (daca exista!) si sa
construiasca un nou vector cu ele, astfel incat noul vector sa poata fi folosit dupa incheierea executiei
functiei. De exemplu: pentru (1, 3, 9, 12) si (1, 9, 14, 0) se va construi (1, 9) cu 2 valori. Dar pentru (1,
3, 5, 2) si (0, 7, 4, 6) vectorul nu poate fi construit pentru ca se gasesc 0 (zero) valori identice.
2) Sa se scrie un program C in care vor fi prelucrate 2 matrice cu dimensiuni identice (acelasi numar de
linii, acelasi numar de coloane) astfel:
a) Se citesc de la tastatura numarul de linii, numarul de coloane si toate valorile celor 2 matrice,
verificandu-se faptul ca valorile matricelor sunt toate mai mari sau egale cu zero si <50;
b) Se aplica functia de la punctul 1) liniilor corespondente din cele 2 matrice pentru a construi o a
treia matrice care sa contina numai elementele identice depistate de functie.
Se poate intampla ca matricea rezultat sa aiba mai putine linii si coloane decat matricele initiale
sau chiar sa nu poata fi construita daca nu sunt gasite deloc elemente identice. Elementelor "in
exces" de pe liniile sau coloanele matricei rezultat li se va atribui valoarea 0 (zero).
De exemplu, pentru urmatoarele 2 matrice initiale, cu cate 4 linii si 5 coloane, matricea rezultat va
avea 3 linii si 4 coloane:
Prima matrice A doua matrice Matricea rezultat*
1 7 9 12 5 1 9 3 7 4 1 7 9 0
4 5 2 7 1 2 1 7 6 4 4 2 7 1
3 9 6 4 2 6 5 8 0 11 6 0 0 0
1 8 12 6 5 3 4 9 7 0
c) daca matricea nu a putut fi construita, se afiseaza un mesaj lamuritor.
d) daca matricea rezultat a fost construita, veti presupune ca exista deja un fisier text (care contine
suficient de multe linii pentru rezolvarea subiectului propus) si veti folosi acest fisier dupa cum
urmeaza:
 se citeste din fisier prima linie de text si se creeaza un sir de caractere format din literele aflate
pe pozitiile indicate de valorile din prima linie a matricei rezultat;
 se scrie intr-un fisier binar sirul de caractere astfel creat;
 se repeta cei 2 pasi anteriori pentru urmatoarele linii din fisier, astfel incat sa fie folosite toate
liniile care mai exista in matricea rezultat.
De exemplu, pentru matricea rezultat de mai sus *, vor fi create sirurile "seta" (pozitiile 1, 7, 9, 0),
"lrse" (pozitiile 4, 2, 7, 1) si "maaa" (pozitiile 6, 0, 0, 0) daca primele 3 linii ale fisierului text
sunt:
astazi este soare afara
cerul este senin
am promovat examenul

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