Exerciţii programare Structuri de control 1. Structuri Simple 1.1. De atribuire / 1.2. De intrare / 1.3. De ieşire / 1.4. Conditia (intrebarea, testul) 2. Structuri Decizionale 2.1.

Alternativa I1 - Se citesc de la tastatură două numere, să se afişeze cel mai mare I2 - Se citeste de la tastatură un număr, să se afişeze dacă este pozitiv sau negativ I3 - Se citeste de la tastatură un număr, să se afişeze dacă este par sau impar I4 - Se citesc de la tastatură trei numere, să se afişeze cel mai mare I5 - Se citesc de la tastatură trei numere, să se afişeze dacă ele pot fi laturi ale unui triunghi si, dacă da, să se afişeze tipul de triunghi pe care il pot forma (oarecare, dreptunghi, isoscel, echilateral) I6 - Să se scrie un program pentru rezolvarea ecuatiei de gradul I (ax+b=0) I7 - Să se scrie un program pentru rezolvarea ecuatiei de gradul al II-lea (ax2+bx+c=0) 2.2. De selectie I8 - Se citesc de la tastatură două numere şi un caracter. Să se execute o operatie în funcţie de informatia citita. Astfel, dacă se citeste caracterul “+”, se execută adunare între cele două numere, pentru “-“ scadere, pentru “*” inmultire, iar pentru “/” impartire. Dacă s-a introdus altceva, să se afişeze un mesaj de eroare. I9 - Se citeste de la tastatură o nota, în funcţie de ea să se afişeze un calificativ (FBine / Bine / Mediu / Slab / FSlab) 3. Structuri Repetitive I10 - Să se afişeze numerele de la 1 la 10 I11 - Să se afişeze numerele de la 15 la 4 I12 - Să se citească de la tastatură caractere, pană se introduce valoarea ‘2’

-1-

Să se afişeze toate numerele prime de la 1 pană la x N14 . .*x) N21 .Să zecimal N27 .Să se afişeze toate numerele palindrome de la 1 pană la x N13 . 108) N15 .Să se afle cmmmc a două numere a şi b N24 .Să N18 .Să N4 .Să N3 .Să se afişeze factorii primi ai lui x şi puterile lor N17 . De la tastatură se introduce şi numărul de zecimale dorite.Se citeste de la tastatură un număr întreg x N1 .Să se afişeze divizorii lui x N7 .Să N26 . 84.Să se afle cati divizori are x N8 . inversul=4791) se afişeze dacă numărul este palindrom (exem: 1441. Algoritmul lui Euclid) N22 .Să N2 .Să N5 .Să N20 .Să se verifice dacă numărul este patrat perfect se determine cel mai mare patrat perfect mai mic decat x se calculeze a la puterea n (a şi n citite de la tastatură) se calculeze x factorial (x!=1*2*3*.Să N25 . apoi să se transforme numărul în se transforme un număr real x în binar.Să se afle cel mai mic divizor al lui x N11 .Să N19 .Să se transforme x în binar / într-un sistem de numerotatie citit de la tastatură (k) se verifice dacă numărul x este rotund (in binar are acelasi număr de 1 şi 0) se verifice dacă x este în binar. N23 .Să se calculeze suma divizorilor lui x N9 .Exerciţii cu un număr .Să se afişeze dacă x este prim sau nu N10 .Să se afişeze factorii primi ai lui x (exemple: 252. să se citească pană cand este în binar.Să se calculeze cati factori primi are x / suma factorilor primi N16 .Să se spună dacă a şi b sunt prime între ele... 12521) N6 .Să se calculeze şi afişeze suma cifrelor numărului x se afişeze câte cifre are numărul x se afişeze cea mai mare cifră din numărul x se afle inversul lui x (exem: x=1974.Să se afle cel mai mare divizor al lui x N12 .Să se afle cmmdc a două numere a şi b (Algoritmul lui Nicomede.

n citit tot de la tastatură V2 .Să se insereze un element în vector pe poziţia k Vi4 .Să se calculeze câte elemente prime sunt în vector VF5 .Se citeste de la tastatură un număr.Să se afişeze procentual câte elemente sunt peste medie şi câte sunt sub medie Exerciţii cu folosirea unui singur indice Vi1 . VS1 .Să se determine dacă vectorul conţine numere consecutive pe poziţii alaturate VS6 .Să se afişeze dacă x există sau nu în vector si.Să se afişeze elementele pare de pe poziţii impare V7 .Să se afle maximul şi minimul elementelor (si poziţia unde se găseşte acesta) V13 .Să se afişeze ultima poziţie unde se găseşte maximul V16 .Să se afişeze elementele vectorului.Să se afişeze primele 3 poziţii unde se găseşte maximul V18 .Să se afişeze dacă x există sau nu în vector cu ieşire din buclă în momentul găsirii prima oară a numărului VS3 .Să se mute ultimul element pe prima poziţie Vi5 . pornind de la ultimul element catre primul V4 .Să se afişeze elementele prime Vi6 .Să se afişeze toate poziţiile unde se găseşte maximul Exerciţii cu folosire contor VF1 .Să se steargă elementul k din vector Vi3 .Să se afişeze diferentele dintre elementele alaturate Vi2 .Să se afişeze câte elemente din vector sunt pare şi câte impare VF2 .Să se afişeze a doua poziţie unde se găseşte maximul V17 .Să se citească de la tastatură un vector V cu n elemente.Să se introducă un număr citit de la tastatură în poziţia corectă într-un vector ordonat crescator Căutare număr în vector (Folosirea variabilei de tip steag) Se citeste de la tastatură un număr (x).Să se afişeze prima poziţie unde se găseşte maximul V15 .Să se afişeze elementele pare V6 .Să se afle maximul şi minimul elementelor pare/impare V14 . să se verifice dacă numărul divide vreun element al vectorului VS7 .Să se afişeze elementele de pe poziţii pare V5 .Să se calculeze media aritmetică a elementelor pare V11 .Să se calculeze produsul elementelor V10 .Să se afişeze dacă x există sau nu în vector VS2 .Să se calculeze suma elementelor V8 .Să se afişeze câte elemente din vector sunt pozitive şi câte negative VF3 . de câte ori şi pe ce poziţii Exerciţii care se rezolvă cu variabilă steag VS4 .Să se determine dacă elementele vectorului formează sau nu o progresie aritmetică -3- . dacă da.Vectori V1 .Să se determine dacă toate elementele unui vector sunt diferite VS5 .Să se calculeze câte elemente între 2 şi 7 sunt în vector VF4 .Să se calculeze suma elementelor din prima jumatate a vectorului V9 .Să se calculeze norma (radical din suma patratelor elementelor) V12 .Să se afişeze elementele vectorului V3 .Să se determine dacă elementele unui vector sunt ordonate strict crescator VS8 .

Să se determine dacă vectorul conţine numai numere consecutive .VS9 .

10.5.Metoda prin interschimbare (SimpleSort) VO-2 .Să se numere câte [comparatii / interschimbari] se execută la [ metoda prin interschimbare / metoda bulelor ] VO-11 .0) VB7 .4.4.Să se afişeze cel mai mare număr format din cifrele numărului luate de câte ori apar (998332) Exerciţii diverse VB1 .2.5.0 => 7.Să se elimine duplicatele (elementele egale alaturate) (exem: 7.9) VN5 .7.4. să se stocheze într-un vector ultimele 5 numere citite. să se pastreze într-un vector de câte ori apare fiecare cifră (exem: 938923) VF2 .Să se ordoneze elementele pare din vector.5.6.3.Metoda prin insertie (InsertionSort) (Să se citească de la tastatură elementele vectorului şi să se introducă în vector pe poziţia necesară a.4.Să se afişeze cel mai mic număr format din cifrele numărului luate de câte ori apar (233899) VF4 .5) V*3 .Să se afişeze cea mai mare valoare care se repetă VB5 .Să se stocheze elementele [ pare / impare / prime ] VN3 .3.4.Metoda bulelor (BubbleSort) VO-3 .Să se aranjeze elementele unui vector astfel incat zerourile să fie la final (exem: 7.0. fară a se repeta (exem: 7.5.3.9. iar cele impare la final VB8 .4.4.) VO-7 .2.0.2.9 => 7.9.2.5.Metoda prin aflare minim (CountSort) (Intr-un alt vector pe poziţie corespunzatoare se stochează numărul de elemente mai mici decat cel curent. V*2 .9.3.4. vectorul Z=(3.4.Metoda prin aflare minim (SelectionSort) VO-5 .2.7 => 2.Să se inverseze primul element cu ultimul.4. Exemplu: Dacă V=(7.Metode de ordonare VO-1 .Să se afle cmmdc al elementelor vectorului VB6 .9.9 => 7.2.7.1.Se citesc de la tastatură numere.4.Să se afişeze cel mai lung şir de numere consecutive (exem: 8.3.0.6 => 6.4.Să se spună câte creste are un vector Exerciţii de 3 stele (***) V*1 .7.Să se determine dacă există un indice pentru care suma primelor i elemente este egală cu suma celorlalte n-i. al doilea cu penultimul samd (exem: 7.7) VN4 . vectorul să fie ordonat după citirea fiecarui nou element. să se afişeze câte grupuri de elemente egale există în vector şi câte elemente conţine fiecare grup.i.3.7) VI-2 .4.4.0.9) Exerciţii cu creare vector nou VN1 .2.0.Să se ordoneze elementele din vector după [prima / ultima] cifră a fiecarui element VO-9 .3.Să se stocheze elementele în alt vector.Se dă un număr.0.0.0.Să se afişeze de câte ori se repetă fiecare element Vectorul frecvenţelor VF1 .9.Se dă un vector.Să se spună dacă un vector este creastă sau nu VB9 .4.4.Să se afişeze cel mai mare număr format din cifrele numărului luate o singură dată (9832) VF5 .Să se afişeze elementele din vector care apar de două ori VB3 . cele impare ramanand neschimbate VO-10 .Să se afişeze cel mai mic număr format din cifrele numărului luate o singură dată (2389) VF3 .Să se stocheze elementele pare şi urmatorul al acestuia (exem: 7. să se stocheze cifrele numărului într-un vector VN2 . V*4 .Să se spună numărul maxim de comparatii care se execută la [ metoda prin interschimbare / metoda bulelor ] Exerciţii cu mai multi indici pe vector VI-1 .2.9.4.Să se afişeze elementele din vector care apar o singură dată VB2 .9.0.Se citeste de la tastatură un număr.Să se afişeze cele mai mari două valori VB4 .3.3.2) (deoarece 7 > trei elem din V)) VO-6 .Metoda rapida (QuickSort) Exerciţii ordonare VO-8 .5.5.2.4.Să se aranjeze elementele unui vector astfel incat elementele pare să fie la inceput.4.6).Metoda bulelor versiunea germană (German BubbleSort) VO-4 .6 => 4. Să se creeze un vector care să contină urmatoarele numere: -5- .4.

Să VD7 .Să se afişeze o singură dată toate numerele din vectori (reuniunea) VD10 .Exem.4.5.Să VD8 .4.4.Să se calculeze produsul scalar al celor doi vectori: <a.6.V*5 .4.4.Să se afle maximul Ma10 .5..3.3. m şi n citite tot de la tastatură Ma2 .. VD1 .8.4. pornind din fiecare colt al matricei Ma5 .7. să se afişeze proportia Matrici Ma1 .4.2) VD9 ..3.v>) ) VD4 .5.Să se afişeze elementele matricei facandu-se parcurgere pe linie.1.1..2.Să se afişeze matricea (trecand pe randul urmator după fiecare linie afisata) Ma3 .2. să se afişeze suma pe linia k .3.8. pornind din fiecare colt al matricei Ma4 ..Să Ma8 .5. diferenta .9.2) b=(5.. c[2]=b[1].3.5.8.4. intersectia. Lucru cu 2 vectori Se dau doi vectori (a şi b) de dimensiune n.3.2.2.2. V*7 .1.Să Ma7 .Să se creeze un alt vector care să contină suma elementelor pe linie a celor doi vectori (c[i]=a[i]+b[i]) VD2 .Să se calculeze suma elementelor de pe diagonala secundară Mb3 . c[4]=b[2].5.Să se afişeze elementele matricei facandu-se parcurgere pe coloana.Să se afişeze o singură dată numere comune din vectori (intersectia) VD11 . .Să se adauge vectorul b în coada vectorului a se insereze vectorul b în vectorul a într-o poziţie dată de la tastatură se schimbe elementele celor doi vectori se interclaseze cei doi vectori (c[1]=a[1].Să se spună dacă vectorul b este inclus în a VD14 . c[3]=a[2].5.Să se afişeze liniile unde se află minimul Mb1 .Se dă k de la tastatură...5.2.Să se spună dacă cei doi vectori sunt ortogonali (adică produsul lor scalar este zero) VD5 .6.Să se calculeze suma elementelor de pe diagonala principală (urma unei matrici patratice) Mb2 .Să se afişeze o singură dată numerele care există în primul vector şi nu există în al doilea (a-b) VD12 .Să se determine dacă un vector este mai mare (maximul unuia este mai mic decat minimul celuilalt) VD15 .2.2.) Reuniunea.b>=suma(a[i]*b[i]) (Norma calculată în funcţie de produsul scalar: ||v||=sqrt(<v.: a=(5.Să se afişeze o singură dată numerele care există în al doilea vector şi nu există în primul (b-a) VD13 .Să se citească de la tastatură o matrice cu m linii şi n coloane..Să Ma6 .Să VD6 .1.5.Să se afişeze poziţiile unde se află maximul Ma11 .Să se verifice dacă cei doi vectori sunt sau nu proportionali si.3.1. V*6 .Să se calculeze produsul cartezian al celor doi vectori (c[i]=a[i]*b[i]) VD3 .1.1. dacă da..3.2.Să se calculeze suma elementelor se calculeze norma unei matrici dreptunghiulare (suma patratelor elementelor) se calculeze suma elementelor pare aflate pe linii impare se afişeze câte elemente pare şi câte elemente impare sunt într-o matrice Ma9 .1.4..

stocare într-un vector) Mb7 .Să se calculeze produsul a două matrici de dimensiuni mxn.Să se afişeze maximul minimelor liniilor MD8 .Să se ordoneze elementele de pe diagonala principală / secundară MD3 .Să MTd2 .Să MTd3 .Maxim / minim pe coloane (variante: afisare pe ecran.Să se transpună o matrice MP .Să se calculeze suma elementelor din triunghiul superior diagonalelor se calculeze suma elementelor din triunghiul inferior diagonalelor se calculeze suma elementelor din triunghiul inferior diagonalei principale şi superior diagonalei secundare se calculeze suma elementelor din triunghiul inferior diagonalei secundare şi superior diagonalei principale MT5 .Să se spună dacă fiecare element de pe diagonala principală este mai mare decat suma celorlalte elemente din linie MD6 . respectiv nxp M*2 .Să MT3 .Să se interschimbe linia 2 cu coloana 3 Mb11 . să se afle dacă există sau nu în matrice) Mb9 . stocare într-un vector) Mb8 . (Suma pe fiecare linie este egală cu suma pe fiecare coloană şi cu suma pe fiecare diagonala) MD7 .Să se construiască matricile patratice (numărul de linii şi coloane se dă de la tastatură) 1111 1 3 5 7 1 4 9 16 1234 3333 9 11 13 15 25 36 49 64 2341 5555 17 19 21 23 81 100 121 144 3412 7777 25 27 29 31 169 196 225 256 -7- .Să se calculeze suma elementelor din triunghiul superior diagonalei principale se calculeze suma elementelor din triunghiul inferior diagonalei principale se calculeze suma elementelor din triunghiul superior diagonalei secundare se calculeze suma elementelor din triunghiul inferior diagonalei secundare MTd1 .*** . să se spună dacă e un patrat magic.Să se calculeze sumele pe linii Mb5 .Să MT2 .Să se afişeze liniile/coloanele care au toate elementele numere pare / impare / prime / patrate perfecte MD2 .Să se calculeze matricea A la puterea n MD1 .Căutare număr în matrice (Se dă un număr x.Se dă o matrice patratica.Să se spună dacă vreun element de pe diagonala principală este mai mare decat suma celorlalte elemente din linie MD5 .Să MT4 .Maxim / minim pe linii (variante: afisare pe ecran.*** .Să MTd4 .Să se interschimbe prima linie cu ultima linie Mb10 .Să se calculeze suma elementelor din patratele delimitate de mediane MT1 .Mb4 .Să se calculeze sumele pe coloane Mb6 .Să se calculeze produsul cartezian între linia i şi coloana i şi rezultatul să se stocheze într-un vector MD4 .Să se calculeze suma elementelor benzii diagonal principală de rază 2 a matricei M*1 .

Lucru cu fisiere . să se afişeze "abbcccdddd" S11 .Să se determine liniile pentru care produsul elementelor este mai mic decat produsul elementelor vectorului obtinut prin reducerea dimensiunii vectorului dat la indicii liniilor Şiruri (vectori de caractere) Se citeste de la tastatură un şir (s).Să se extragă dintr-un text adresele de e-mail valide. Exemplu: şirul “CRAIOVA” S1 .Să se afişeze astfel şirul "EDITURA": E EDITURA ED EDITUR EDI EDITU EDIT EDIT EDITU EDI EDITUR ED EDITURA E S12 .Să S7 .Să se determine lungimea şirului S2 .*** . adica: 1/ numărul de paranteze deschise este egal cu numărul de paranteze inchise.Să se calculeze produsul dintre matrice şi vector MV4 .Să se afişeze şirul astfel: E E D I E D I E D I E D I T U T U R A T U I D I E D I T T U T U R T U R A E D I D I I T U R A T U R T U T E D I E D I E T U R A S13 . într-un vector. Tipul de dată articol .Să se afişeze şirul astfel: EDIT.Se dă un şir.Să se transforme în majusculă fiecare primă literă a unui cuvant S9 . 2/ orice paranteză inchisă are în stanga ei un număr mai mare de paranteze deschise decat inchise. iar mugurii să fie afisati cu altă culoare. de exemplu "abcd".Să S6 .Să se afişeze de câte ori apare în şir caracterul ‘a’ / un caracter citit de la tastatură se spună câte majuscule / litere mici / cifre conţine şirul se spună câte cuvinte conţine şirul se spună câte cuvinte de lungime 1 conţine şirul S8 .Să S5 . Să se verifice dacă şirul este corect. ITUR.Primele n*n elemente din vector să se treacă într-o matrice MV3 .Să se citească de la tastatură caractere si. TURA Să se testeze algoritmii pentru şirul “UNIVERSITATEA” S14 .*** . Să se afişeze şirul cu o culoare. DITU. S15 .Să se introducă în şir un alt şir citit de la tastatură în poziţia a 4-a S3 . Să se afişeze cati muguri sunt în vector (un mugur e o paranteză deschisă urmată de una inchisa).4123 Se dă o matrice şi un vector MV1 .Să se steargă din şir 3 caractere.Să se determine dacă fiecare linie a unei matrici este proportională sau nu cu un vector MV5 . incepand din poziţia a 5-a S4 .Să se treacă elementele de pe linia k într-un vector MV2 .Să se dubleze vocalele S10 . să se stocheze primele p paranteze drepte citite.

y=a.Să se realizeze un program de gestiune [a unei agende telefonice / al unui top muzical / al unor facturi] Operatii de baza: Introducere / Afisare / Modificare / Stergere / Căutare -9- .Un fisier text conţine pe prima linie valoarea n.Fisiere text F1 . F3 .Ecuatia dreptei (c. Să se citească numerele şi să se scrie ordonate crescator în alt fisier. să se ordoneze după nume FT3 .x.Se dă un vector de tip persoana. c.y.)z Fisiere cu tip FT1 . F2 .y+b.x+b. să se scrie suma cifrelor fiecarui nr.x=a. iar pe a doua linie n numere. în alt fisier.Un fisier text conţine mai multe numere.Să se realizeze un tip de dată [ persoană / masină / firmă ] FT2 . Să se citească numerele si.

ca.fiecare jumatate din jumatate.Să se calculeze combinari de n luate câte k.k-1) şi C(n. care are patratul.+n R6 . Aplicatie: Să se verifice dacă un număr este superpalindrom (exemplu: 11. 213..Ackermann Ack(0.Să se realizeze o procedură care interschimbă (metoda paharelor) continutul a două variabile primite ca parametri Recursivitate R1 .n-1)) pentru m.0)=Ack(m-1. 121.n)=Ack(m-1. 312.fiecare jumatate. variabile globale.k) = ((n-k+1)/k) * C(n. A(n.Se dă un vector.k) = n! / (n-k)! P(n) = n! C(3. corp.. 132. cab.k) R3 . x=3: 123. cba R5 . parametri.Se dau n şi k.Să se calculeze aranjamente de n luate câte k.k) R4 ..Suma elementelor unui vector RV2 . 321) B2 . ac. bc.Maximul elementelor RV4 .Căutare număr în vector RV5 . să se calculeze a la puterea n RV1 .funcţii şi proceduri Notiuni: antet.Să se calculeze 1-2+3-4+5.Hermite h(0)=1 h(1)=2*x h(n)=2*x*h(n-1)-2*(n-1)*h(n-2) pentru n>1 RF2 .Să se realizeze o funcţie care primeste două numere şi returnează cmmdc-ul lor S5 . tot palindrom) S4 .Se dau a şi n. să se afişeze dacă x există sau nu în vector folosind căutarea binară (spargere în două a vectorului ordonat) D2 . acb.Subprograme .Ack(m. Să se calculeze n factorial R2 .Să se calculeze 1+2+3+4+5.k) = n! / ( k! * (n-k)! ) A(n.Suma cifrelor unui număr R9 . bc A(3.Să se realizeze o funcţie care primeste un număr şi returnează dacă este prim sau nu S3 . variabile locale.Să se calculeze combinari de n luate câte k după relatiile: C(n. ac.Să se realizeze o funcţie care primeste 3 numere şi returnează cea mai mare valoare dintre ele S2 .Se citeste de la tastatură un număr (n).n e N* Algoritmi Divide et impera ("D&i") D1 .0)=1 C(n.2) = ab. transmisie prin valoare.Suma elementelor dintre al 2-lea şi al 5-lea din vector RF1 .Se dă un vector v şi un număr x. dacă x>=12 mp=mp(mp(x+2)). 231.Manna-Pnuelli mp=x-1.Să se realizeze o funcţie care verifică dacă un număr este palindrom.Fibonacci f(1)=1 f(2)=1 f(n)=f(n-1)+f(n-2) pentru n>=3 RF3 .Se dă un număr x. bca.. cb P(3) = abc. C(n.Produsul elementelor RV3 .2) = ab. apel.1) pentru m e N* Ack(m. bac. ba.n)=n+1 pentru n e N Ack(m. să se afişeze combinari de n luate câte k . apoi pt.+n R7 .Cmmdc a două numere R8 . să se afişeze P(x) = permutari de x (Exemplu pt. transmisie prin adresă S1 . dacă x<12 RF4 . să se afle maximul sau folosind algoritmul "D&i" (aflare maxim pt. samd) Backtracking B1 .

Problema colorării hărţilor B8 .i.Să se insereze un nod e între b şi c LC4 .Să se caute o valoare într-o listă simplu-inlantuita LP6 . să se caute x în vector şi să se stocheze poziţiile unde este găsit într-o lista LD4 .Să se calculeze media elementelor din lista LP4 . se dă o suma.Să se afişeze o listă simplu-inlantuita LP2 . inserari LD1 .Se dau valorile monedelor.Să se creeze o listă care să contină elementele prime pană la un număr x citit de la tastatură LD5 .Problema damelor: Să se aseze n dame pe o tablă de şah de dimensiune n*n fară ca acestea să se atace între ele B6 .Să se afle cel mai mare număr dintr-o listă simplu-inlantuita LP5 . se stie capacitatea rezervorului masinii şi consumul ei la suta de km.Să se calculeze suma elementelor dintr-o listă simplu-inlantuita LP3 .B3 . pană se intalneste un număr impar Alte exercitii LA1 .Să se creeze o listă circulara Parcurgere l.Să se insereze un nod într-o listă simplu-inlantuită într-o poziţie introdusă de la tastatură LD6 .Să se numere câte elemente are o listă circulara Creare dinamica.Problema discretă a rucsacului G4 .Să se steargă nodul c LC5 .Să se steargă un nod dintr-o listă simplu-inlantuită (se dă poziţia acestuia de la tastatură) LS2 .Se dau n şi k. a.Să se ordoneze o ldi .Să se steargă toate elementele pare dintr-o lsi LS3 .c LC2 .Problema cu utilitatea economica G2 .Să se creeze o listă care să contină primele 10 numere pare LD3 .Să se interschimbe nodul b cu nodul d LC6 . LP1 . LC1 .Problema sariturii calului: Să se afişeze poziţiile pe care poate sari un cal pe o tablă de sah de dimensiune n*n astfel incat să sară o singură dată pe toate patratelele B7 .Problema canibalilor şi a misionarilor Greedy G1 .i.s.Problema continuă a rucsacului G3 .Să se steargă elementele pare de la inceputul unei lsi.s.Să se creeze dinamic o listă simplu-inlantuită (se citesc numere pană se introduce valoarea 0) LD2 .Se dau distantele intermediare între benzinariile dintre două localitati.Să se ordoneze o lsi LA2 .Să se adauge un nod d la sfarsitul listei LC3 . Să se stabilească drumul cu cele mai putine opriri pentru alimentare.Să se creeze o listă simplu-inlantuită din 3 noduri.b.Se dă un vector v.Să se insereze 0 după fiecare număr par Stergeri LS1 .11 - . se dă un număr x. să se afişeze aranjamente de n luate câte k B4 . să se afişeze varianta de plată a sumei în numărul minim de monede B5 . Liste Creare l.

să se stocheze graful într-un fisier text . graf conex. graf complementar. O componentă este conexă dacă oricare două varfuri sunt conectate printr-un lant. graf partial. graf bipartit. graf hamiltonian. nod izolat. graf complet (câte noduri are). componente conexe. subgraf. nod (varf).Să se simuleze folosirea unei stive cu ajutorul unui vector St2 . să se stocheze graful într-o matrice de adiacenta Se dau de la tastatură numărul de noduri.să se stocheze graful în liste de adiacenta Gi4 . listele de adiacenta. X=multimea nodurilor. numărul de arce şi arcele Gi2 .Să se simuleze folosirea unei cozi cu ajutorul unui vector C2 . nod terminal. arc (muchie). graf eulerian Un subgraf se obtine prin eliminarea minim a unui varf.Să se simuleze folosirea unei cozi cu ajutorul unei liste simplu inlantuite Grafuri Se dă un graf (X. fisierul text Notiuni: neorientate/orientate . lant.Stiva (de carti) St1 . grad de incidenta. ordin graf. Un graf este eulerian dacă este conex şi gradele tuturor varfurilor sunt pare.Să se simuleze folosirea unei stive cu ajutorul unei liste dublu inlantuite Coada (la pâine) C1 .G). componente tare conexe.să se stocheze graful într-o matricea de adiacenta Gi3 . ciclu.Se dau de la tastatură numărul de noduri şi arcele. circuit. Un graf este hamiltonian dacă are n ciclu elementar (care trece prin toate nodurile). Exerciţii Gi1 . Un graf partial se obtine prin eliminarea minim a unei muchii. G=multimea relatiilor dintre noduri Metode de reprezentare: matricea de adiacenta. drum/lant/circuit elementar. drum.

Se dau listele de adiacenta. să se creeze matricea de adiacenta Gi10 .Se dă fisierul text. să se creeze fisierul text Gi6 . fisier text) Gi5 .Să se realizeze matricea drumurilor Gd6 . să se creeze listele de adiacenta Gi9 .13 - .Dijkstra Exemple de grafuri pentru Dijkstra 6 7 1 3 40 1 2 30 1 2 20 1 3 50 1 5 30 1 6 10 2 3 15 2 3 40 2 4 70 2 4 20 3 4 30 2 5 30 4 6 25 3 5 20 5 6 20 4 6 15 4 7 50 6 7 35 Arbori Cate noduri are un arbore Arb1 . sdv.Se dă matricea de adiacenta.Să se determine componentele tare conexe Gd7 .Se dau m şi n.Se dau cele trei forme de stocare ale unui graf (matrice de adiacenta.Se cere un nod.Parcurgerea în adancime (DF) Gd5 . să se creeze listele de adiacenta Gi8 .Matricea ponderilor Gr3 .Roy Warshall.Să se spună dacă graful este tare conex Gr1 . să se afişeze toate nodurile [catre care / de la care / şi catre.Să se afişeze nodurile cu gradul de incidentă interior egal cu cel exterior Gr2 . Roy Floyd Gr4 .Metode de reprezentare: vectorii “stanga” şi “dreapta” Arb3 .Se dau listele de adiacenta.Să se afişeze gradele de incidente [interioare / exterioare] ale nodurilor Gd2 .*** .Parcurgerea în latime (BF) Gd4 . liste de adiacenta. şi de la care] acesta are arce Gd3 . să se creeze fisierul text Exerciţii diverse Gd1 . cu 0<m<n<65000. să se creeze matricea de adiacenta Gi7 .Se dă matricea de adiacenta.Se dă fisierul text. vsd Alte probleme A1 .Parcurgera arborilor binari: svd.Metode de reprezentare: vectorul “tata” Arbori binari Arb2 . Să se afişeze câte zerouri conţine la sfarsit numărul n!/m! .