Documente Academic
Documente Profesional
Documente Cultură
B. Minim/Maxim
16. Pe un lac se afla insiruite n frunze de nuferi care leaga doua maluri opuse
ale lacului . Fiecare frunza are un numar de la 1 la n. O broscuta se afla pe un
mal iar un rac se afla pe malul opus al lacului. Broscuta este cea care incepe
jocul. Ea sare tot peste 3 frunze. Frunzele pe care sare se vor scufunda. Afisati
frunzele ramase dupa ce broscuta ajunge pe mal. Racul sare si el inapoi tot
peste doua frunze pana ajunge la malul opus. Frunzele pe care va sari se vor
scufunda. Afisati frunzele ramase dupa ce racul ajunge pe mal.
Cautare secventiala
1. Se da un vector x cu n elemente numere intregi distincte si un nr.
intreg a. Sa se verifice daca a se afla in vector. In caz afirmativ sa se
afiseze pozitia pe care se afla.
2. Se citeste un vector a cu n elemente numere intregi. Afisati indicele
primului element negativ.
3. Se citeste un vector a cu n elemente numere naturale. Afisati ultimul
element impar.
4. Se da un vector cu n elemente numere naturale. Sa se insereze inaintea
primului numar par patratul sau.
5. Se da un vector cu n elemente numere intregi. Sa se insereze dupa
primul element negativ valoarea lui absoluta.
6. Se citeste un vector a cu n elemente numere intregi. Afisati indicele
primului element palindrom >9. Daca nu exista, atunci dati un mesaj
corespunzator.
Cautare binara
7. Se da un vector x cu n elemente numere intregi distincte ordonate
descrescator si un nr. intreg a. Sa se verifice daca a se afla in vector si in
caz afirmativ sa se afiseze pozitia pe care se afla.
8.
Se da un vector x cu n elemente numere intregi distincte ordonate
crescator si un nr. intreg a, care nu apartine sirului. Sa se determine pozitia
unde ar trebui inserat elementul a in sir, astfel incat sirul sa ramana ordonat
crescator.
9.
Exemplu În vectorul ( 1, 2, 3, 6, 7, 10, 11, 12, 13, 3, 1, 4, 5 ) panta de lungime maximă este
( 10, 11, 12, 13).
2. Fie un tablou a cu elemente de tip întreg cu propietatea a[0] a[1] ...... a[n-1]. Un
platou este o subsecventă maximală de elemente consecutive în tablou care conțin aceeași
valoare. Lungimea unui platou este numărul de elemente ce compun platoul. Să se scrie un
program care afișează lungimea p a celui mai lung platou.
Exemplu Pentru a = ( 2, 4, 4, 5, 6, 8, 8, 8, 8, 9, 9, 10, 14, 14, 15, 16, 16, 16, 17 ) cel mai lung
platou începe la pozitia 7 si are lungimea 4.
J. Generari de siruri
K. Interclasare
Variante bacalaureat
1. Varianta 10 III4.
Subprogramul sub primeşte prin intermediul parametrilor:
– n şi m două numere naturale (1<n<100, 1<m<100)
– a şi b două tablouri unidimensionale, fiecare având componente numere naturale
de maximum patru cifre, ordonate crescător; tabloul a conţine n numere pare, iar
tabloul b conţine m numere impare.
Subprogramul va afişa pe ecran, în ordine crescătoare, separate prin câte un spaţiu,
un şir format dintr-un număr maxim de elemente care aparţin cel puţin unuia dintre
tablouri, astfel încât orice două elemente aflate pe poziţii consecutive să fie de
paritate diferită.
Exemplu: pentru n=5, m=3 şi tablourile a=(2,4,8,10,14) şi b=(3,5,11), subprogramul
va afişa 2 3 4 5 8 11 14 sau 2 3 4 5 10 11 14.
a) Scrieţi definiţia completă a subprogramului sub, alegând pentru rezolvare un
algoritm
eficient din punctul de vedere al timpului de executare. (6p.)
b) Descrieţi succint, în limbaj natural, algoritmul pe baza căruia a fost scris
subprogramul de la punctul a), explicând în ce constă eficienţa metodei utilizate.
(4p.)
2. Varianta 12
Fişierele text NR1.TXT şi NR2.TXT conţin, separate prin câte un spaţiu, mai
multe numere întregi de cel mult 9 cifre fiecare. Fiecare dintre fişiere conţine
cel mult 100 de valori şi numerele din fiecare fişier sunt ordonate strict
crescător. Se cere să se afişeze pe ecran, în ordine crescătoare, numerele
divizibile cu 5 care se găsesc doar în unul din cele două fişiere.
Exemplu: dacă fişierul NR1.TXT conţine numerele 1 2 3 4 7 20 60, iar fişierul
NR2.TXT conţine numerele 3 5 7 8 9 10 12 20 24, atunci se vor afişa pe ecran
valorile 5 10 60.
a) Descrieţi un algoritm de rezolvare a acestei probleme, eficient din punct de
vedere al timpului de executare şi al spaţiului de memorie utilizat, explicând în
ce constă eficienţa acestuia. (4p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris.
3.Varianta 19
În fişierul nr1.txt este memorată pe prima linie o valoare naturală n de cel mult 8
cifre, iar pe linia următoare sunt memorate n numere naturale, cu maximum 4 cifre
fiecare, ordonate strict crescător şi separate prin câte un spaţiu. În fişierul nr2.txt
este memorată pe prima linie o valoare naturală m de cel mult 8 cifre, iar pe linia
următoare sunt memorate m numere naturale, cu maximum 4 cifre fiecare, ordonate
strict crescător şi separate prin câte un spaţiu. Se cere afişarea pe ecran, separate
prin câte un spaţiu, în ordine strict crescătoare, a tuturor numerelor aflate pe a doua
linie în cel puţin unul dintre cele două fişiere. În cazul în care un număr apare în
ambele fişiere, el va fi afişat o singură dată.
Alegeţi un algoritm de rezolvare eficient din punct de vedere al memoriei utilizate şi
al timpului de executare.
Exemplu: pentru următoarele fişiere:
nr1.txt nr2.txt
5 6
3 6 8 9 12 2 3 5 7 9 13
se va afişa 2 3 5 6 7 8 9 12 13.
a) Descrieţi succint, în limbaj natural, strategia de rezolvare şi justificaţi eficienţa
algoritmului ales. (4p.)
b) Scrieţi programul C/C++ corespunzător algoritmului ales.
4. În fiecare dintre fişierele nr1.txt şi nr2.txt este memorată pe prima linie câte o
valoare naturală n de cel mult 8 cifre, iar pe linia următoare sunt memorate câte n
numere naturale, cu maximum 4 cifre fiecare, ordonate strict crescător şi separate
prin câte un spaţiu. Se cere afişarea pe ecran, separate prin câte un spaţiu, în ordine
strict crescătoare, a tuturor numerelor aflate pe a a doua linie atât în primul cât şi în
al doilea fişier. Alegeţi un algoritm de rezolvare eficient din punct de vedere al
memoriei utilizate şi al timpului de execuţie.
Exemplu: pentru următoarele fişiere:
nr1.txt
5
3 6 8 9 12
nr2.txt
6
2 3 5 7 9 13
se va afişa 3 9.
Exemplu: x= 4 7 8 19 32 50 si y= 45 32 19 15 8 2 1 => z= 1 7 15 45