Sunteți pe pagina 1din 4

Vectori 1. Se consider doi vectori a i b avnd n respectiv m numere naturale.

Scriei o secven care s afieze numerele din a care nu apar n b. De exemplu, dac a = (3, 5, 1, 7, 4) i b = (9, 5, 1, 14), se va afia 3, 7, 4 2. Se consider un tablou unidimensional de n (n <= 1000) numere naturale, notat cu a. a. Scriei secvena care verific dac toate elementele tabloului sunt pare. Mesajele secvenei: Toate pare sau Exist i numere impare. b. Scriei secvena care determin poziia de nceput i lungimea celei mai lungi secvene de valori egale din vectorul a. Exemplu: a = 2, 2, 8, 8, 8, 2, 8, 8, 8, 8, 8, 3, 3. Se va afia: poziia de nceput este 6, lung . este 5. 3. Se consider un tablou unidimensional de n (n <= 1000) numere naturale, notat cu a. a. Scriei secvena care ordoneaz cresctor vectorul b. Scriei secvena care determin cea mai mare diferen dintre dou elemente consecutive din vectorul sortat. Exemplu: a = 1, 4, 7, 8, 8, 12, 14. Cea mai mare diferen este 4 (adic 12 8) c. Scriei secvena care afieaz toate numerele prime din vector. 4. Se citeste un vector v de n elemente numere intregi, n50. Sa se construiasca si sa se afiseze alti trei vectori, astfel: - primul va contine elementele care au exact 2 divizori; - al doilea va contine elementele care au exact 3 divizori; - al treilea va contine elementele care au mai mult de 3 divizori; Date de intrare n=7, v={13, 22, 8, 9, 24, 100, 17} Date de iesire se vor construi si afisa: y={13, 17} z={9} w={22, 8, 24,100}

5. Se citeste un vector v de n elemente numere intregi. Se cere: a) Sa se verifice daca exista vreun element care apare mai mult de o data in vector. Se va afisa DA sau NU. b) Sa se verifice daca vectorul are elementele ordonate strict crescator. Se va afisa DA sau NU. c) Sa se determine daca vectorul contine vreun element care are prima cifra impara. Se va afisa DA sau NU. Date de intrare n=7, v={13, 22, 455, 19, 22, 123, 27} Date de iesire a) DA b) NU (pentru vectorul {1, 2, 8, 12, 768} se afiseaza DA) c) DA 6. Se citeste un vector v de n elemente numere intregi, n50. Sa se construiasca si sa se afiseze alti doi vectori, astfel: - primul va contine elementele care au numarul de cifre (lungimea numarului) egal cu o valoare c citita de la tastatura; - al doilea va contine elementele care nu indeplinesc conditia de mai sus (numarul de cifre al elementului este diferit de c). Date de intrare n=6, v={17, 814, 3, 435, 23, 14} c=3 Date de iesire se vor construi si afisa: y={814, 435} z={17, 3, 23, 14}

7. Se citeste un vector v de n numere intregi. a) Sa se afle de cate ori o componenta a vectorului este media aritmetica a componentelor vectorului. b) Sa se verifice daca vectorul este simetric (primul element este egal cu ultimul, al doilea cu penultimul, s.a.m.d.). Se va afisa DA sau NU. c) Sa se determine toate perechile de elemente din vector nu neaparat consecutive cu proprietatea ca primul element este inversul celui de-al doilea.

Date de intrare n=7, v={231, 517, 4155, 19, 4155, 132, 715} Date de iesire a) 0 ori (pentru vectorul {1, 2, 8, 4, 5} se afiseaza o data) b) NU (pentru vectorul {1, 2, 8, 12, 8, 2, 1} se afiseaza DA) c) (231, 132)(517, 715) Cautari si inserari in vectori 1) S de determine i s se afieze cea mai din dreapta poziie unde se gsete x n vectorul a. Dac x nu apare n vector, se va afia -1. 2) S se determine i s se afieze numrul de apariii ale lui x n vectorul a. 3) S se determine i s se afieze cte numere sunt strict mai mici i cte sunt strict mai mari dect x. 4) S se insereze dup fiecare apariie a lui x din vectorul a valoarea 100. De exemplu, dac a= (3,3,2,5,3,2) i x=3, atunci dup inserare a=(3,100,3,100,2,5,3,100,2) 5) S se insereze nainte de fiecare apariie a lui x din vectorul a valoarea 50. De exemplu, dac a= (3,3,2,5,3,2) i x=3, atunci dup inserare a=(50,3,50,3,2,5,50,3,2) 6) S se determine i s se afieze cte numere din vectorul a au aceeai paritate cu x. De exemplu, pentru (3,3,2,5,3,2) i x=3 se va afia 4. 7) a) b) c) d) e) Fie v un vector care va conine n numere ntregi. tergei elementul din faa fiecrui numr par. 1, 2, 3, 4, 5 se va afisa 2, 4, 5 Sa se insereze intre oricare doua elemente alaturate media lor aritmetica. Rotirea vectorului cu k pozitii la dreapta. 1, 2, 3, 4, 55, 1, 2, 3, 44, 5, 1, 2, 3 pentru k=2 Rotirea vectorului cu k pozitii la stanga. 1, 2, 3, 4, 52, 3, 4, 5, 1 3, 4, 5, 1, 2 pentru k=2 Sa se determine media aritmetica a elementelor din vector, in care elementele egale se vor lua o singura data. f) Sa se stearga elementele din vector care sunt mai mici decat al treilea element din vector si sa afiseze vectorul ramas. g) Sa se insereze inaintea fiecarui element prim, dublul acestuia. 8) Fie v un vector care va conine n numere ntregi. a) Sa se insereze un element dat la inceputul vectorului; b) Sa se insereze un element dat la sfarsitul vectorului; c) Sa se insereze un element dat la mijlocul vectorului; d) Sa se stearga elementul de la inceputul vectorului; e) Sa se elimine elementul/elementele de la mijlocul vectorului. 9) Se citesc dintr-un fisier mai multe numere pana cand se intalneste valoarea 0. Sa se ordoneze numerele astfel: la nceput numerele deficiente, apoi cele perfecte i la sfrit cele abundente. (Numim numr deficient cel care este mai mare dect suma divizorilor mai mici ca el, numr perfect cel care este egal cu acest sum i abundent numrul mai mic dect aceast sum). Exemplu: pentru n=5 si numerele: 6 12 3 4 10 Se va afisa: 3 4 10 6 12.

Cutare liniar 1. Dat un ir de n (n10000) numere ntregi a0, a1, a2, ..., an-1 i un ntreg x, s se determine poziia unde se afl x n ir. 2. S se determine cea mai din stnga poziie unde apare x, sau 1 dac x nu apare n ir. 3. Se se determine cea mai din dreapta poziie a lui x n ir, sau 1 dac x nu apare n ir. 4. S se determine poziia unde apare x n secvena a[p..q], adic n secvena ap, ap+1, ..., aq, sau 1 dac x nu apare n secven. 5. S se determine numrul de apariii ale lui x n ir. 6. S se determine poziia celei de-a k-a apariii a lui x n ir, sau 1 dac x apare de mai puin de k ori n ir. De exemplu, pentru irul 2, 3, 3, 5, 6, 3, 7, 8, 12, 3, 4, 3, 1, 81 i x = 3, k=4, se va afia 9 (poziia unde este a patra apariie a lui 3 n ir). Sortari 1. Se citeste un vector cu n elemente numere naturale (n citit). Se cere sa se sorteze sirul in ordinea crescatoare a numarului de aparitii a cifrei k in scrierea numarului. In cazul in care doua numere au acelasi numar de cifre egale cu k atunci ele vor aparea in ordinea in care sunt citite de la tastatura, unde k este citit. 2. Se citeste un vector de n elemente. Sa se determine cel mai mic numar format cu cele mai mari cifre ale numerelor din vector. 3. Se citeste un vector de n elemente. Realizati un program care ordoneaza cele n numere in ordinea cifrei de control a fiecarui numar. (cifra de control a unui numar se obtine insumand cifrele sale pana cand se obtine un numar cu o singura cifraexemplu cifra de control a numarului 199=1+9+9=19=1+9=10=1+0=1). 5 10 29 12 58 43 10 12 29 43 58 4. Se citeste un vector de n elemente si un numar k de la tastatura (k<n). Sa se ordoneze numerele astfel: primele k numere ordonate crescator dupa numarul de divizori, restul numerelor ordonate descrescator dupa suma cifrelor. Se va folosi un singur vector. k=3Ex: se citesc 12, 14, 3, 62, 89, 19, 76 Se va afisa 3, 14, 12, 89, 76, 19, 62 5. Se citeste un vector cu n elemente numere naturale (n citit). Se cere sa se sorteze sirul in ordinea crescatoare a numarului de aparitii a cifrei 1 in scrierea numarului. In cazul in care doua numere au acelasi numar de cifre egale cu 1 atunci ele vor aparea in ordinea in care sunt citite de la tastatura. Ex. daca elementele vectorului sunt (71, 1, 82, 35, 114, 3111, 4, 221) dupa sortare vectorul va fi: (82, 35, 4, 71, 1, 221, 114, 3111) 6. Se cunosc punctajele obinute de cei n elevi participani la un concurs de informatic. tiind c doi elevi primesc acelai premiu numai dac au punctaje egale, s se determine ci elevi primesc Premiul I, ci Premiul II i ci Premiul III. Cerin: Scriei un program care citete de la tastatur numrul concurenilor precum i punctajele acestora, luate din borderoul de corectare, i determin i afieaz pe ecran pe cte o linie numrul de elevi pentru fiecare din cele trei premii. Exemplu: Pentru n=10 si punctajele: 58 79 34 12 58 40 79 58 30 58 se vor afia numerele: 2 4 1 ceea ce nseamn c 2 elevi primesc Premiul I (cei care au obinut 79 puncte), 4 elevi obin Premiul II (cei cu 58 puncte) i un elev (cel cu 40 puncte) primete Premiul III.

7. Se introduc n numere de cte una sau dou cifre. S se afieze aceste numere n ordinea cresctoare a primei lor cifre. Exemplu: pentru n=5 i numerele 34 2 5 62 25 se va afia 2 25 34 5 62 sau 25 2 34 5 62. 8. Se citeste un vector x de n elemente. a) Sa se ordoneze cresctor elementele situate ntre elementul minim i cel maxim. Daca poziia elementului minim este mai mare decat poziia elementului maxim, se va afia mesajul Nu se efectueaz sortarea. b) S se sorteze aceste numere in ordinea descresctoare a numarului de divizori. n=7 x={17, 3, 8, 6, 4, 100, 20} a) x={17, 3, 4, 6, 8, 100, 20} b) x={100, 20, 8, 6, 4, 3, 17}

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