In padurea cu alune au case n pitici. Camara fiecarei case are m rafturi, cate un raft pentru
fiecare din cele m produse pe care piticii le pot cumpara de la magazinul aflat la marginea padurii.
De la magazin poate cumpara doar starostele piticilor si numai in prima zi din luna. Pentru a putea
face cumparaturile necesare, la fiecare sfarsit de luna starostele piticilor trece pe la casa fiecarui
pitic si ia comanda de la fiecare pitic, dupa care se duce la magazin si face cumparaturile necesare.
Toate produsele din magazin se vand la bucata.
Trebuie sa se calculeze:
1) Care sunt stocurile de alimente ale piticilor dupa ce starostele s-a intors de la magazin?
2) Cat trebuie sa plateasca fiecare pitic daca se cunosc preturile pe bucata ale celor m
produse existente in camarile piticilor?
3) Cate zile trebuie sa munceasca fiecare pitic pentru a achita nota de plata la magazin? Se
presupune ca piticii nu fac alte cheltuieli in afara celor pentru mancare si ca pentru o zi de
munca fiecare pitic primeste G galbeni.
Date de intrare
Datele de intrare se citesc din fisierul PITICI.IN care are pe prima linie un numar real care
reprezinta plata pentru o zi de lucru (G).
Pe urmatoarea linie se gasesc numarul n de pitici din padure si numarul m de rafturi din
camara fiecarui pitic.
Pe urmatoarele n linii se gasesc stocurile din cele m alimente pe care le are fiecare pitic date
ca numere intregi pozitive cate m pe o linie separate de cate un spatiu.
Pe urmatoarele n linii se gasesc comenzile celor m alimente pe care fiecare pitic le-a facut date
ca numere intregi pozitive cate m pe o linie separate de cate un spatiu.
Pe ultima linie se gasesc preturile celor m alimente necesare piticilor date ca numere reale
separate de cate un spatiu.
Date de iesire
Rezultatele obtinute trebuie inscrise in fisierul PITICI.OUT, iar datele de intrare trebuie
afisate pe monitor pentru a verifica citirea lor corecta.
Stocurile de alimente vor fi memorate intr-o matrice alocata dinamic cu spatiul strict necesar.
Preturile pentru cele m alimente se stocheaza prin intermediul unui pointer la real in dubla precizie.
Programare 1 ______________________________________________________ Set 1 Problema 1
2
Barem de notare
Tabel nr. 1
A1 Citirea elementelor unei matrice (functia primeste ca parametri doi intregi si un pointer
la FILE si returneaza un pointer la pointer la intreg)
0,5
A1a Alocare dinamica cu resetarea zonei de memorie alocate (completarea cu zero a zonei
de memorie alocata) pentru o matrice
0,3
A2 Citirea elementelor unui vector (functia primeste ca parametri un pointer la FILE, un
pointer la real in dubla precizie si un intreg si nu returneaza nimic)
0,5
A3 Afisarea unei matrice (functia primeste ca parametri un pointer la pointer la intreg si
doi intregi si nu returneaza nimic)
0,3
A4 Afisarea unui vector (functia primeste ca parametri un pointer la real in dubla precizie
si un intreg si nu returneaza nimic)
0,3
A5 Determinarea noilor stocuri de alimente (functia primeste ca parametri doi pointeri la
pointer la intreg si doi intregi si returneaza un pointer la pointer la intreg)
0,5
A6 Determinarea sumelor pe care trebuie sa le plateasca piticii pentru alimentele
cumparate (functia primeste ca parametri un pointer la pointer la intreg, un pointer
la real in dubla precizie si doi intregi si returneaza un pointer la real in dubla
precizie)
0,5
A7 Determinarea zilelor (intregi) de munca pentru fiecare pitic (functia primeste ca
parametri un pointer la real in dubla precizie, un intreg, un real in dubla precizie si
returneaza un pointer la intreg)
0,5
A8 Scrierea in fisier a rezultatelor (functie care nu returneaza nimic si are parametri
necesari pentru inscrierea tuturor rezultatelor in fisier)
0,5
A9 Dealocarea corecta a zonelor de memorie alocata 0,5
A10 Deschiderea si inchiderea corecta a fisierelor cu care se lucreaza 0,4
A11 Scrierea corecta a fisierului header 0,4
A12 Scrierea functiei main 0,6
A13 Functionarea corecta a programului 1,2
TOTAL TABEL 1 7 p
Programare 1 ______________________________________________________ Set 1 Problema 2
1
Sa se scrie un program care primeste ca date de intrare un sir de numere pare si afiseaza
descompunerile distincte ale fiecarui numar par ca o suma de doua numere prime (Numarul 1 nu
este numar prim). Datele pot fi introduse in trei moduri:
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.