Sunteți pe pagina 1din 10

VECTORI

A. PARCURGEREA ELEMENTELOR UNUI VECTOR

1. Se citeste un sir de n numere naturale. Calculati suma si produsul


elementelor din sir.
2. Se citeste un sir de n numere intregi. Calculati media aritmetica a
elementelor pozitive din sir.
3. Se citeste un sir de n numere naturale. Calculati suma elementelor din
sir de pe pozitii impare.
4. Se citeste un sir de n numere naturale. Calculati produsul elementelor
divizibile cu 3 din sir.
5. Se citeste un sir de n numere naturale. Calculati media aritmetica
numerelor impare din sir.
6. Se citeste un sir de n numere naturale. Cate numere pare sunt in sir pe
pozitii impare?
7. Se citeste un sir de n numere naturale. Cate numere sunt impare?
8. Se citeste un sir de n numere naturale. Calculati suma numerelor
divizibile cu 5 de pe pozitii divizibile cu 7.
9. Se citesc n numere intregi. Calculati suma numerelor pozitive si produsul
nr. negative.
10. Se citesc n numere intregi. Calculati suma numerelor de rang par si
produsul celor de rang impar.
11. Se citesc n numere naturale. Afisati numerele patrate perfecte.
12. Se citeste un sir de n numere naturale. Calculati suma numerelor care
au doua cifre.
13. Se citeste un sir de n numere intregi. Inlocuiti fiecare element negativ
cu patratul sau.
14. Se citeste un sir de n numere intregi. Afisati elementele sirului din 2 in
2 incapand cu primul element.
15. Se citeste un sir de n numere intregi. Afisati elementele sirului de la
sfarsit spre inceput.
16. Se citeste un sir de n numere intregi. Afisati elementele sirului din 2 in
2 incapand cu ultimul element pana la primul element.
17. Se citeste un sir de n numere intregi. Afisati elementele pozitive din a
doua jumatate a sirului.
18. Se citeste un sir de n numere naturale. Afisati elementele impare din
sir care se afla imediat inaintea unui numar care se termina cu cifra 0.
19. Se citeste un sir de n numere naturale. Afisati numerele din sir
incepand cu ultimul, cu proprietatea ca prima cifra = ultima cifra.
20. Se citeste un sir de n numere naturale. Cate palindroame impare sunt
in sir pe pozitii pare?
21. Se citeste un vector x cu m elemente numere naturale si un numar
natural a. Afisati indicii elementelor din vector care au acelasi numar de
divizori ca si nr. a
22. Se citeste un vector x cu m elemente numere naturale si un numar
natural a. Calculati suma elementelor din vector care au prima cifra=cu cifra
minima din a
23. Se citeste un vector x cu m elemente numere naturale si un numar
natural a. Afisati numerele din vector care sunt formate din aceleasi cifre
ca si a.
24. Se citeste un sir de n numere naturale. Cate numere Fibonacci
sunt in sir?
25. Se citeste un sir de n numere naturale. Afisati toate perechile de
numere din sir care au acelasi numar de cifre 1 in baza 2?
26. Se citeste un sir de n numere naturale. Afisati toate perechile de
numere din sir care au acelasi numar de divizori?
27. Se citeste un sir de n numere naturale. Afisati toate numerele din sir
care au toti exponentii =1 in descompunerea in factori primi.
28. Se citeste un sir de n valori naturale. Sa se determine pt fiecare
element valoarea formata din cifrele pare ale numarului.

B. Minim/Maxim

1. Se citeste un sir de n numere naturale. Determinati elementul minim si


elementul maxim.
2. Se citeste un sir de n numere naturale. Determinati elementul minim si
pozitiile pe care se afla in sir.
3. Se citeste un sir de n numere naturale. Afisati cele mai mici 2 elem din
sir.
4. Se citeste un sir de n numere naturale. Afisati cele mai mari 3 elem din
sir printr-o singura parcurgere a sirului.
5. Se citeste un sir de n numere naturale. Afisati elementul maxim din
prima jumatate a sirului.
6. Se citeste un sir de n numere naturale. Afisati elementul maxim dintre
elementele de pe pozitii pare.
7. Se citeste un sir de n numere naturale. Afisati elementul care are cei mai
multi divizori. Daca sunt mai multe astfel de elemente se vor afisa toate.
8. Se citeste un sir de n numere naturale. Afisati elementul care apare
de cele mai multe ori in sir. Daca sunt mai multe astfel de elemente se va
afisa cel mai mic.
9. Se citeste un sir de n numere naturale. Determinati
numarul/numerele cu cele mai multe cifre 0 in baza 2
10. Se citeste un sir de n numere intregi. Determinati cel mai mare numar
negativ si cel mai mic numar pozitiv. . (se pot utiliza constantele predefinite
INT_MIN si INT_MAX, limits.h)

C. VERIFICAREA UNEI PROPRIETATI A ELEMENTELOR VECTORULUI


1. Se citeste un sir de n numere intregi. Verificati daca toate elementele
sunt pozitive.
2. Se citeste un sir de n numere intregi. Verificati daca toate elementele
sunt impare.
3. Se citeste un sir de n numere intregi. Verificati daca elementele
vectorului sunt in ordine crescatoare.
4. Se citeste un sir de n numere intregi. Verificati daca vectorul are aspect
de munte.
5. Se citeste un sir de n numere intregi. Verificati daca vectorul are aspect
de vale.
6. Se citeste un sir de n numere intregi. Verificati daca vectorul este de
forma par, impar, par, impar, ...
7. Se citeste un sir de n numere intregi. Verificati daca vectorul contine
elemente negative.
8. Se citeste un sir de n numere intregi. Verificati daca vectorul contine cel
putin un element nul.
9. Se citeste un sir de n numere intregi. Verificati daca vectorul contine
elemente cu numar par de divizori.
10. Se citeste un sir de n numere intregi. Verificati daca vectorul contine
elemente care sunt multiplu de 4.
11. Se citeste un sir de n numere naturale. Verificati daca vectorul contine
elemente pare pe pozitii impare.
12. Se citeste un sir de n numere naturale. Verificati daca vectorul contine
un numar impar de elemente care sunt formate numai din cifre pare.
13. Se citeste un sir de n numere naturale. Verificati daca vectorul contine
elemente care au acelasi numar de cifre 0 si 1 in baza 2.
14. Se citeste un sir de n numere naturale. Verificati daca vectorul contine
numere prime.
15. Se citeste un vector x cu m elemente numere naturale. Exista in vector
elemente divizibile cu elementul minim? (exceptand elementul minim)

D. PRELUCRAREA A DOI VECTORI

1. Se dau doi vectori a si b cu n respectiv m elemente numere intregi. Cate


elemente din a sunt strict mai mici decat toate elementele din b.
2. Se dau doi vectori a si b cu n respectiv m elemente numere intregi.Afisati
eleméntele din a care au proprietatea ca se divid la tóate eleméntele din b.
Daca nu sunt astfel de elemente se va da un mesaj.
3. Se dau doi vectori a si b cu n elemente numere naturale. Afisati
eleméntele din a pentru care elementul de pe aceeasi pozitie din b are suma
cifrelor divizibila el.
4. Se dau doua multimi a si b de numere intregi. Afisati intersectia,
reuniunea si diferenta celor doua multimi.
5. Se dau doi vectori a si b cu n respectiv m elemente numere intregi. Daca
cei doi vectori reprezinta doua multimi sa se afiseze reuniunea lor.
6. Se dau doi vectori a si b cu n respectiv m elemente numere intregi. Daca
cei doi vectori reprezinta doua multimi sa se afiseze intersectia lor.
7. Se dau doi vectori a si b cu n respectiv m elemente numere intregi. Daca
cei doi vectori reprezinta doua multimi sa se afiseze diferenta lor.

E. CONSTRUIREA UNUI VECTOR CU ELEMENTE DIN ALT VECTOR SAU


GENERAND ELEMENTELE FOLOSIND UN ALGORITM DE CALCUL

1. Se de un vector x cu n elemente numere intregi. Construiti si apoi afisati


vectorul y cu eleméntele pozitive din x.
2. Se de un vector x cu n elemente numere naturale. Construiti si apoi
afisati vectorul y cu eleméntele prime din x.
3. Se de un vector x cu n elemente numere naturale. Construiti si apoi
afisati vectorul y cu eleméntele din x care au prima si ultima cifra egale.
4. Se de un vector x cu n elemente numere naturale. Construiti un vector y
unde y[i] este suma cifrelor impare a lui x[i].
5. Se de un vector x cu n elemente numere reale si doua numere reale a si
b, a<b. Construiti vectorul y cu eleméntele din x care apartin [a,b]. Elementele
din x vor fi puse in y in ordinea inversa aparitiei in x.
6. Se dau doua multimi a si b cu n respectiv m elemente numere
intregi. Construiti si apoi afisati intersectia, reuniunea si diferenta celor
doua multimi.
7. Se de un vector x cu n elemente numere intregi. Formati un alt sir cu
numerele mai mici decat 100.
8. Se de un vector x cu n elemente numere intregi. Formati un alt sir cu
numerele ce contin cifra 7.

F. STERGEREA SI INSERAREA UNUI ELEMENT

1. Se citeste un vector cu n elemente numere intregi. Eliminati primul


si ultimul element.
2. Se citeste un vector cu n elemente numere intregi. Eliminati
elementele negative.
3. Se citeste un vector cu n elemente numere intregi. Eliminati elementele
nule.
4. Se citeste un vector cu n elemente numere intregi. Sa se elimine
elementele care preced patrate perfecte.
5. Se citeste un vector cu n elemente numere intregi. Sa se verifice daca
este o multime si in caz negativ sa se transforme in multime.
6. Stergeti numerele mai mari decat 55
7. Stergeti numerele din 4 in 4

8. Se da un vector cu n elemente numere intregi. Sa se insereze un


element dat k pe pozitia p.
9. Se citesc doua siruri a si b cu n respectiv m elemente numere
intregi. Inserati elementul minim din a in mijlocul sirului b.
10. Dupa fiecare al cincilea numar din sir adaugati doua zerouri
11. Se da un vector cu n elemente numere intregi. Sa se insereze intre
oricare doua numere negative (situate pe pozitii consecutive) media aritmetica
a valorilor absolute.
12. Se da un sir cu n numere intregi. Se cere:
a) Dupa fiecare numar impar adugati dublul sau.
b) Dupa fiecare numar negativ adugati modulul sau.
c) Dupa fiecare numar de cel putin doua cifre adaugati ultima cifra a sa.
13. Se da un sir cu n numere intregi. Se cere:
a) Dupa fiecare numar din sir adaugati numarul de cifre din care este format numarul
b) Dupa fiecare numar din sir adaugati 0 daca nu este palindrom si 1 daca este palindrom
c) Dupa fiecare numar nul din sir adaugati inca doua numere 0
d) Dupa fiecare numar adaugati numarul divizorilor sai proprii
e) Dupa fiecare numar din sir adaugati divizorii sai proprii
14. Se da un sir cu n numere intregi. Se cere:
a) eliminati toate numerele pare din sir
b) eliminati toate numerele din sir care au ultima cifra x(x dat)
c) eliminati toate numerele din sir care au prima cifra x(x dat)
d) eliminati toate numerele prime din sir

15. Se da un sir cu n numere intregi. Se cere:


a) Eliminati toate numerele nule din sir
b) Eliminati toate numerele ce nu sunt prime

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.

G. SORTAREA UNUI VECTOR

1. Fiind dat vectorul x cu n componente numere intregi sa se ordoneze


crescator primele k elemente si descrescator celelalte elemente, pentru k dat,
1<k<n.
2. Ordonati descrescator elementele nenule ale unui vector ce contine n
numere intregi.
Exemplu: n=6 si vectorul: (3 0 7 0 4 5) se va afisa 7 0 5 0 4 3.
3. Fiind dat vectorul x cu n componente numere intregi sa se localizeze
elementul maxim si toate elemetele dinaintea lui sa se ordoneze crescator, iar
cele de dupa el, descrescator.
4. Ordonati crescator doar elementele pare ale unui vector ce contine n
numere intregi, fara insa a afecta pozitiile pe care sunt situate numerele
impare.
5. Creati un program care sorteaza elementele situate intre elemental
minim si maxim dintr-un vector de intregi. Daca minimul si maximul se afla pe
pozitii consecutive, se va afisa mesajul “ Nu se efectueaza sortarea”.
Exemplu: Pentru n=7 si elementele 14,-13,21,1,120,1000,21 se va afisa: 14 -
13 1 21 120 1000 21.
6. Se da un sir de numere intregi. Sa se ordoneze sirul astfel incat primele
pozitii sa contina elementele pare ordonate crescator, iar apoi sa contina
elementele impare ordonate descrescator.
7. Se da un sir de numere intregi. Rearanjati elementele sirului a.i.
numerele divizibile cu 3 sa fie situate inaintea celor nedivizibile cu 3 si
ordonate crescator in cadrul celor doua secvente.
8. Se da un sir de numere intregi. Ordonati descrescator numerele aflate
de la pozitia p1 la pozitia p2 (p1,p2 date)
9. Construiti un algoritm care determina si afiseaza cel mai mare numar
care se poate forma avand exact aceleasi cifre ca si un numar natural n citit
de la tastatura (n<1000000 000).
10. Afisati cifrele distincte ale unui numar in ordine crescatoare a
numarului lor de aparitii. Exemplu: Pentru n=21223 se va afisa 1 3 2.
11. Fie un tablou unidimensional ce contine n numere naturale in care
exista un singur element nul. Sa se realizeze un program care ordoneaza
descrescator elementele vectorului, efectuand interschimbari doar prin
intermediul elementului nul ( orice interschimbare are loc intre un element
nenul si cel nul)
Exemplu: Pentru vectorul (0,3,2) pasii sortarii pot fi (3,0,2) si (3,2,0).

12. Se considera un vector cu n elemente naturale. Sa se afiseze pe linii,


elementele din A grupate dupa cifra dominanta ( prima in scrierea zecimala).
Pe aceeasi linie vor fi scrise elemente cu aceeasi cifra dominanta.
Exemplu: Pentru n=7 si A=(334, 124, 21, 34, 122, 1, 39) se va afisa:
124 122 1
21
334 34 39

13. Fie un tablou unidimensional cu n elemente valori naturale. Sa se


ordoneze descrescator aceste valori, dupa numarul de cifre distincte pe care
le contin.
Exemplu: Pentru n=7 si A=(334, 124, 21, 34, 222, 1, 39) se va afisa:
124 334 21 34 39 222 1

H. CAUTAREA UNUI ELEMENT (SECVENTIAL, CAUTARE BINARA)

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.

I. DETERMINAREA UNOR SECVENTE CU O PROPRIETATE DATA

1. Definim notiunea de pantă ca fiind o secventă de elemente consecutive din vectorul A


astfel încât a[i] = a[i-1] + 1. Să se determine panta de lungime maximă.

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

1. Sa se genereze sirul primelor n numere de forma


3*1+2, 3*2+2, 3*3+2, 3*4+2, 3*+2,....3*n+2
2. Sa se genereze sirul primelor n numere naturale care contin exact doua
cifre 2.
3. Sa se genereze sirul primelor n numere naturale cu proprietatea ca
primul este x, al dolea este y iar oricare altul este dat de relatia a[k]=a[k-1]-
a[k-2].

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.

5. Se dau 2 vectori x si y, x ordonat descrescator , y ordonat crescator. Sa se determine


vectorul z ordonat decrescator ce contine elementele pare comune celor 2 vectori.
Utilizati o metoda eficienta d.p.d.v.a timpului de executie.
Exemplu: x= 45 32 19 15 8 2 1 si y= 4 7 8 19 32 50 => z= 32 8

6. Se dau 2 vectori x si y, x ordonat crescator , y ordonat descrescator. Sa se determine


vectorul z ordonat crescator ce contine elementele impare necomune celor 2 vectori.
Utilizati o metoda eficienta d.p.d.v.a timpului de executie.

Exemplu: x= 4 7 8 19 32 50 si y= 45 32 19 15 8 2 1 => z= 1 7 15 45

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