1
Varianta 20 Subiectul 3 Pb 4 Citesc pe rand din fisiere cate numere sunt in variabilele n si m, apoi din fiecare fisier citesc cate un numar x respective y. In variabilele i si j, initial egale cu 1 tin minte cate numere am citit din fisier. Verific cat timp mai am numere necitite in fisiere daca acestea sunt egale, daca sunt egale le afisez, asta inseamna ca apar in ambele fisiere,si citesc urmatoarele numere din ambele fisiere, crescand i-ul si j-ul, altfel daca numarul din primul fisier e mai mare decat cel din al doilea citesc un nou numar din al doilea fisier si cresc j-ul. Altfel daca numarul din al doilea fisier e mai mare ca cel din primul citesc un nou numar din primul fisier si cresc i-ul. La sfarsit verific in care dintre fisiere mai am numere si citesc pe rand cate unul, crescand i-ul sau j-ul depinzand din ce fisier citesc. Daca urmatorul numar pe care il citesc este mai mare decat ultimul numar din celalt fisier opresc programul(neavand rost sa citescmai departe deoarece numeral sunt in ordine crescatoare), altfel verific daca numarul e egal cu ultimul din celalt fisier si daca e egal il afisez. Algoritmul e eficient din punct de vedere al memoriei deoarece nu folosesc vectori in care sa memorez numerele. Algoritmul e eficient din punct de vedere al timpului de executare deoarece nu parcurg de mai multe ori sirurile de numere, iar toate operatiile se fac direct pe numerele citite(in timp ce citesc verific si afisez).

Varianta 20 Subiectul 3 Pb 4 Informatica

Embed Size (px)

DESCRIPTION

Rezolvare varianta 20 bac informatica

Citation preview

Varianta 20 Subiectul 3 Pb 4Citesc pe rand din fisiere cate numere sunt in variabilele n si m, apoi din fiecare fisier citesc cate un numar x respective y. In variabilele i si j, initial egale cu 1 tin minte cate numere am citit din fisier. Verific cat timp mai am numere necitite in fisiere daca acestea sunt egale, daca sunt egale le afisez, asta inseamna ca apar in ambele fisiere,si citesc urmatoarele numere din ambele fisiere, crescand i-ul si j-ul, altfel daca numarul din primul fisier e mai mare decat cel din al doilea citesc un nou numar din al doilea fisier si cresc j-ul. Altfel daca numarul din al doilea fisier e mai mare ca cel din primul citesc un nou numar din primul fisier si cresc i-ul. La sfarsit verific in care dintre fisiere mai am numere si citesc pe rand cate unul, crescand i-ul sau j-ul depinzand din ce fisier citesc. Daca urmatorul numar pe care il citesc este mai mare decat ultimul numar din celalt fisier opresc programul(neavand rost sa citescmai departe deoarece numeral sunt in ordine crescatoare), altfel verific daca numarul e egal cu ultimul din celalt fisier si daca e egal il afisez.Algoritmul e eficient din punct de vedere al memoriei deoarece nu folosesc vectori in care sa memorez numerele.

Algoritmul e eficient din punct de vedere al timpului de executare deoarece nu parcurg de mai multe ori sirurile de numere, iar toate operatiile se fac direct pe numerele citite(in timp ce citesc verific si afisez).