Sunteți pe pagina 1din 12

Exercitii programare Structuri de control 1. Structuri Simple 1.1. De atribuire / 1.2. De intrare / 1.3. De iesire / 1.4.

Conditia (intrebarea, testul) 2. Structuri Decizionale 2.1. Alternativa I1 - Se citesc de la tastatura doua numare, sa se afiseze cel mai mare I2 - Se citeste de la tastatura un numar, sa se afiseze daca este pozitiv sau negativ I3 - Se citeste de la tastatura un numar, sa se afiseze daca este par sau impar I4 - Se citesc de la tastatura trei numere, sa se afiseze cel mai mare I5 - Se citesc de la tastatura trei numere, sa se afiseze daca ele pot fi laturi ale unui triunghi si, daca da, sa se afiseze tipul de triunghi pe care il pot forma (oarecare, dreptunghi, isoscel, echilateral) I6 - Sa se scrie un program pentru rezolvarea ecuatiei de gradul I (ax+b=0) I7 - Sa 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 tastatura doua numere si un caracter. Sa se execute o operatie in functie de informatia citita. Astfel, daca se citeste caracterul +, se executa adunare intre cele doua numere, pentru - scadere, pentru * inmultire, iar pentru / impartire. Daca s-a introdus altceva, sa se afiseze un mesaj de eroare. I9 - Se citeste de la tastatura o nota, in functie de ea sa se afiseze un calificativ (FBine / Bine / Mediu / Slab / FSlab) 3. Structuri Repetitive 3.1. Cu test initial / 3.2. Cu test final / 3.3. Cu contor I10 - Sa se afiseze numerele de la 1 la 10 I11 - Sa se afiseze numerele de la 15 la 4 I12 - Sa se citeasca de la tastatura caractere, pana se introduce valoarea 2 Exercitii cu un numar - Se citeste de la tastatura un numar intreg x N1 - Sa se calculeze si afiseze suma cifrelor numarului x N2 - Sa se afiseze cate cifre are numarul x N3 - Sa se afiseze cea mai mare cifra din numarul x N4 - Sa se afle inversul lui x (exem: x=1974, inversul=4791) N5 - Sa se afiseze daca numarul este palindrom (exem: 1441, 12521) N6 - Sa se afiseze toate numerele palindrome de la 1 pana la x N8 - Sa se afle divizorii lui x N9 - Sa se afle cati divizori are x (mai putin 1 si x) / suma divizorilor N10 - Sa se afiseze daca x este prim sau nu N11 - Sa se afiseze toate numerele prime de la 1 pana la x N12 - Sa se afle cel mai mic divizor al lui x N13 - Sa se afle cel mai mare divizor al lui x N14 - Sa se afiseze factorii primi ai lui x (exemple: 252, 84, 108) N15 - Sa se calculeze cati factori primi are x / suma factorilor primi N16 - Sa se afiseze factorii primi ai lui x si puterile lor N17 - Sa se verifice daca numarul este patrat perfect N18 - Sa se calculeze a la puterea n (a si n citite de la tastatura) N19 - Sa se calculeze x factorial (x!=1*2*3*...*x) N20 - Sa se afle cmmdc a doua numare a si b (Algoritmul lui Nicomede. Algoritmul lui Euclid) N21 - Sa se spune daca a si b sunt prime intre ele. N21 - Sa se transforme x in binar / intr-un sistem de numerotatie citit de la tastatura (k) N22 - Sa se verifice daca numarul x este rotund (in binar are acelasi numar de 1 si 0) N23 - Sa se verifice daca x este in binar, sa se citeasca pana cand este in binar, apoi sa se transforme numarul in zecimal

-1-

N24 - Sa se transforme un numar real x in binar. De la tastatura se introduce si numarul de zecimale dorite.

-2-

Vectori V1 - Sa se citeasca de la tastatura un vector V cu n elemente, n citit tot de la tastatura V2 - Sa se afiseze elementele vectorului V3 - Sa se afiseze elementele vectorului, pornind de la ultimul element catre primul V4 - Sa se afiseze elementele de pe pozitii pare V5 - Sa se afiseze elementele pare V6 - Sa se afiseze elementele pare de pe pozitii impare V7 - Sa se calculeze suma elementelor V8 - Sa se calculeze suma elementelor din prima jumatate a vectorului V9 - Sa se calculeze produsul elementelor V10 - Sa se calculeze media aritmetica a elementelor pare V11 - Sa se calculeze norma (radical din suma patratelor elementelor) V12 - Sa se afle maximul si minimul elementelor (si pozitia unde se gaseste acesta) V13 - Sa se afle maximul si minimul elementelor pare/impare V14 - Sa se afiseze prima pozitie unde se gaseste maximul V15 - Sa se afiseze ultima pozitie unde se gaseste maximul V16 - Sa se afiseze a doua pozitie unde se gaseste maximul V17 - Sa se afiseze primele 3 pozitii unde se gaseste maximul V18 - Sa se afiseze toate pozitiile unde se gaseste maximul Exercitii cu folosire contor VF1 - Sa se afiseze cate elemente din vector sunt pare si cate impare VF2 - Sa se afiseze cate elemente din vector sunt pozitive si cate negative VF3 - Sa se calculeze cate elemente intre 2 si 7 sunt in vector VF4 - Sa se calculeze cate elemente prime sunt in vector VF5 - Sa se afiseze procentual cate elemente sunt peste medie si cate sunt sub medie VF6 - Sa se calculeze media aritmetica a elementelor pare (sau de pe pozitii pare) Exercitii cu folosirea unui singur indice Vi1 - Sa se afiseze diferentele dintre elementele alaturate Vi2 - Sa se stearga elementul k din vector Vi3 - Sa se insereze un element in vector pe pozitia k Vi4 - Sa se mute ultimul element pe prima pozitie Vi5 - Sa se afiseze elementele prime Vi6 - Sa se introduca un numar citit de la tastatura in pozitia corecta intr-un vector ordonat crescator Cautare numar in vector (Folosirea variabilei de tip steag) Se citeste de la tastatura un numar (x). VS1 - Sa se afiseze daca x exista sau nu in vector VS2 - Sa se afiseze daca x exista sau nu in vector cu iesire din bucla in momentul gasirii prima oara a numarului VS3 - Sa se afiseze daca x exista sau nu in vector si, daca da, de cate ori si pe ce pozitii Exercitii care se rezolva cu variabila steag VS4 - Sa se determine daca vectorul contine numere consecutive pe pozitii alaturate VS5 - Sa se determine daca vectorul contine numai numere consecutive VS6 - Sa se determine daca elementele unui vector sunt ordonate crescator (monoton crescator; strict crescator) VS7 - Sa se determine daca elementele vectorului formeaza sau nu o progresie aritmetica VS8 - Se citeste de la tastatura un numar, sa se verifice daca numarul divide vreun element al vectorului Ordonare VO-1 - Metoda prin interschimbare VO-2 - Metoda bulelor VO-3 - Metoda prin aflare minim

-3-

VO-4 - Metoda prin insertie (Sa se citeasca de la tastatura elementele vectorului si sa se introduca in vector pe pozitia necesara a.i. vectorul sa fie ordonat dupa citirea fiecarui nou element.) VO-5 - Metoda rapida (Quick-sort) VO-6 - Sa se ordoneze elementele din vector dupa [prima / ultima] cifra a fiecarui element VO-7 - Sa se ordoneze elementele pare din vector, cele impare ramanand neschimbate VO-8 - Sa se numere cate [comparatii / interschimbari] se executa la [ metoda prin interschimbare / metoda bulelor ] VO-9 - Sa se spuna numarul maxim de comparatii care se executa la [ metoda prin interschimbare / metoda bulelor ] Exercitii cu mai multi indici pe vector VI-1 - Sa se inverseze primul element cu ultimul, al doilea cu penultimul samd (exem: 7,4,9,2 => 2,9,4,7) VI-2 - Sa se elimine duplicatele (elementele egale alaturate) (exem: 7,4,4,4,5,7,4,3,3,9 => 7,4,5,7,4,3,9) Exercitii cu creare vector nou VN1 - Se citeste de la tastatura un numar, sa se stocheze cifrele numarului intr-un vector VN2 - Sa se stocheze elementele in alt vector, fara a se repeta (exem: 7,4,4,4,5,7,4,3,3,9 => 7,4,5,3,9) VN3 - Sa se afiseze de cate ori se repeta fiecare element Exercitii diverse VB1 - Sa se afiseze elementele din vector care apar o singura data VB2 - Sa se afiseze elementele din vector care apar de doua ori VB3 - Sa se afiseze cele mai mari doua valori VB4 - Sa se afiseze cea mai mare valoare care se repeta VB5 - Sa se afle cmmdc al elementelor vectorului VB6 - Sa se spuna daca un vector este creasta sau nu VB7 - Sa se spuna cate creste are un vector Exercitii de 3 stele (***) V*1 - Sa se determine daca toate elementele unui vector sunt diferite V*2 - Sa se afiseze cel mai lung sir de numere consecutive (exem: 8,5,2,3,4,5,2,9,10,7 => 2,3,4,5) V*3 - Sa se determine daca exista un indice pentru care suma primelor j elemente este egala cu suma celorlalte n-j. V*4 - Se da un vector, sa se afiseze cate grupuri de elemente egale exista in vector si cate elemente contine fiecare grup. V*5 - Se citesc de la tastatura numere, sa se stocheze intr-un vector ultimele 5 numere citite. Sa se creeze un vector care sa contina urmatoarele numere: V*6 - 1,2,2,3,4,4,5,6,6,7,8,8,... V*7 - 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,... V*8 - 1,1,2,1,2,3,1,2,3,4,1,2,3,4,5,... Lucru cu 2 vectori Se dau doi vectori (a si b) de dimensiune n. VD1 - Sa se creeze un alt vector care sa contina suma elementelor pe linie a celor doi vectori (c[i]=a[i]+b[i]) VD2 - Sa se calculeze produsul cartezian al celor doi vectori (c[i]=a[i]*b[i]) VD3 - Sa se calculeze produsul scalar al celor doi vectori: <a,b>=suma(a[i]*b[i]) (Norma calculata in functie de produsul scalar: ||v||=sqrt(<v,v>) ) VD4 - Sa se spuna daca cei doi vectori sunt ortogonali (adica produsul lor scalar este zero) VD5 - Sa se adauge vectorul b in coada vectorului a VD6 - Sa se insereze vectorul b in vectorul a intr-o pozitie data de la tastatura VD7 - Sa se schimbe elementele celor doi vectori VD8 - Sa se interclaseze cei doi vectori (c[1]=a[1]; c[2]=b[1]; c[3]=a[2]; c[4]=b[2]; ...) Reuniunea, intersectia, diferenta - Exem.: V1=(5,5,3,5) V2=(5,2,9) VD9 - Sa se afiseze o singura data toate numerele din vectori (reuniunea) VD10 - Sa se afiseze o singura data numere comune din vectori (intersectia) VD11 - Sa se afiseze o singura data numerele care exista in primul vector si nu exista in al doilea (a-b) VD12 - Sa se afiseze o singura data numerele care exista in al doilea vector si nu exista in primul (b-a)

-4-

VD13 - Sa se spuna daca vectorul b este inclus in a VD14 - Sa se determine daca un vector este mai mare (maximul unuia este mai mic decat minimul celuilalt) VD15 - Sa se verifice daca cei doi vectori sunt sau nu proportionali si, daca da, sa se afiseze proportia VD16 - *** - Problema cu utilitatea economica

-5-

Matrici M1 - Sa se citeasca de la tastatura o matrice cu m linii si n coloane, m si n citite tot de la tastatura M2 - Sa se afiseze matricea (trecand pe randul urmator dupa fiecare linie afisata) M3 - Sa se afiseze elementele matricei facandu-se parcurgere pe linie, pornind din fiecare colt al matricei M4 - Sa se afiseze elementele matricei facandu-se parcurgere pe coloana, pornind din fiecare colt al matricei M5 - Sa se calculeze suma / produsul elementelor M6 - Sa se calculeze norma unei matrici dreptunghiulare (suma patratelor elementelor) M7 - Sa se afle maximul M8 - Sa se afiseze pozitiile unde se afla maximul M9 - Sa se afiseze liniile unde se afla minimul M10 - Sa se calculeze suma elementelor de pe diagonala principala (urma unei matrici patratice) M11 - Sa se calculeze suma elementelor de pe diagonala secundara M12 - Se da k, sa se afiseze suma pe linia k M13 - Sa se calculeze sumele pe linii M14 - Sa se calculeze sumele pe coloane M15 - Maxim / minim pe linii (variante: afisare pe ecran, stocare intr-un vector) M16 - Maxim / minim pe coloane (variante: afisare pe ecran, stocare intr-un vector) M17 - Cautare numar in matrice (Se da un numar x, sa se afle daca exista sau nu in matrice) M18 - Sa se interschimbe linia 1 cu linia n M19 - Sa se interschimbe linia 2 cu coloana 2 M20 - Sa se transpuna o matrice MP1 - Sa se calculeze suma elementelor din patratul superior medianelor MP2 - Sa se calculeze suma elementelor din patratul superior medianei orizontale si inferior celei verticale MP3 - Sa se calculeze suma elementelor din patratul inferior medianei orizontale si superior celei verticale MP4 - Sa se calculeze suma elementelor din patratul inferior medianelor MT1 - Sa se calculeze suma elementelor din triunghiul superior diagonalei principale MT2 - Sa se calculeze suma elementelor din triunghiul inferior diagonalei principale MT3 - Sa se calculeze suma elementelor din triunghiul superior diagonalei secundare MT4 - Sa se calculeze suma elementelor din triunghiul inferior diagonalei secundare MTd1 - Sa se calculeze suma elementelor din triunghiul superior diagonalelor MTd2 - Sa se calculeze suma elementelor din triunghiul inferior diagonalelor MTd3 - Sa se calculeze suma elementelor din triunghiul inferior diagonalei principale si superior diagonalei secundare MTd4 - Sa se calculeze suma elementelor din triunghiul inferior diagonalei secundare si superior diagonalei principale MT5 - Sa se calculeze suma elementelor benzii diagonal principala de raza 2 a matricei MD1 - Sa se afiseze liniile/coloanele care au toate elementele numere pare / impare / prime / patrate perfecte MD2 - Sa se ordoneze elementele de pe diagonala principala / secundara MD3 - Sa se calculeze produsul cartezian intre linia i si coloana i si rezultatul sa se stocheze intr-un vector MD4 - Sa se spuna daca vreun element de pe diagonala principala este mai mare decat suma celorlalte elemente din linie MD5 - Sa se spuna daca fiecare element de pe diagonala principala este mai mare decat suma celorlalte elemente din linie MD6 - Se da o matrice patratica, sa se spuna daca e un patrat magic. (Suma pe fiecare linie este egala cu suma pe fiecare coloana si cu suma pe fiecare diagonala) MD7 - Sa se afiseze maximul minimelor liniilor MD8 - Sa se construiasca matricile patratice (numarul de linii si coloane se da de la tastatura) 1111 1 3 5 7 1 4 9 16 1234 3333 9 11 13 15 25 36 49 64 2341

-6-

5555 7777

17 19 21 23 25 27 29 31

81 100 121 144 169 196 225 256

3412 4123

M*1 - *** - Sa se calculeze produsul a doua matrici de dimensiuni mxn, respectiv nxp M*2 - *** - Sa se calculeze matricea A la puterea n Se da o matrice si un vector MV1 - Sa se treaca elementele de pe linia k intr-un vector MV2 - Primele nxn elemente din vector sa se treaca intr-o matrice MV3 - Sa se calculeze produsul dintre matrice si vector MV4 - Sa se determine daca fiecare linie a unei matrici este proportionala sau nu cu un vector MV5 - Sa se determine liniile pentru care produsul elementelor este mai mic decat produsul elementelor vectorului obtinut prin reducerea dimensiunii vectorului dat la indicii liniilor

Siruri (vectori de caractere) Se citeste de la tastatura un sir (s). Exemplu: sirul CRAIOVA S1 - Sa se determine lungimea sirului S2 - Sa se introduca in sir un alt sir citit de la tastatura in pozitia a 4-a S3 - Sa se stearga din sir 3 caractere, incepand din pozitia a 5-a S4 - Sa se afiseze de cate ori apare in sir caracterul a / un caracter citit de la tastatura S5 - Sa se spuna cate majuscule / litere mici / cifre contine sirul S6 - Sa se spuna cate cuvinte contine sirul S7 - Sa se spuna cate cuvinte de lungime 1 contine sirul S8 - Sa se transforme in majuscula fiecare prima litera a unui cuvant. S9 - Sa se dubleze vocalele S10 - Se da un sir, de exemplu abcd, sa se afiseze abbcccdddd S11 - *** - Sa se afiseze astfel sirul "EDITURA": E EDITURA ED EDITUR EDI EDITU EDIT EDIT EDITU EDI EDITUR ED EDITURA E S12 - Sa se afiseze sirul astfel: E E D I T U R A E D I E D I T U E D I T U E D I E D I T U R A E S13 - Sa se afiseze sirul astfel: EDIT, DITU, ITUR, TURA Sa se testeze algoritmii pentru sirul UNIVERSITATEA S14 - Sa se extraga dintr-un text adresele de e-mail valide. S15 - *** - Sa se citeasca de la tastatura caractere si, intr-un vector, sa se stocheze primele p paranteze drepte citite. Sa se verifice daca sirul este corect, adica: 1/ numarul de paranteze deschise este egal cu numarul de paranteze inchise; 2/ orice paranteza inchisa are in stanga ei un numar mai mare de paranteze deschise decat inchise.

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

-7-

Sa se afiseze cati muguri sunt in vector (un mugur e o paranteza deschisa urmata de una inchisa). Sa se afiseze sirul cu o culoare, iar mugurii sa fie afisati cu alta culoare.

-8-

Subprograme - functii si proceduri S1 - Sa se realizeze o functie care primeste 3 numere si returneaza cea mai mare valoare dintre ele S2 - Sa se realizeze o functie care primeste un numar si returneaza daca este prim sau nu S3 - Sa se verifice daca un numar este super-palindrom (exem: 11, care are patratul, 121, tot palindrom) S4 - Sa se realizeze o procedura care interschimba (metoda paharelor) continutul a doua variabile primite ca parametri

Recursivitate R1 - Se citeste de la tastatura un numar (n). Sa se calculeze n factorial R2 - Sa se calculeze aranjamente de n luate cate k, A(n,k) R3 - Sa se calculeze combinari de n luate cate k, C(n,k) R4 - Sa se calculeze combinari de n luate cate k dupa relatiile: C(n,k) = ((n-k+1)/k) * C(n,k-1) si C(n,0)=1 C(n,k) = n! / ( k! / (n-k)! ) A(n,k) = n! / (n-k)! P(n) = n! C(3,2) = ab, ac, bc A(3,2) = ab, ba, ac, ca, bc, cb P(3) = abc, acb, bac, bca, cab, cba

R5 - Sa se calculeze 1+2+3+4+5...+n R6 - Sa se calculeze 1-2+3-4+5...+n R7 - Cmmdc a doua numere R8 - Suma cifrelor unui numar R9 - Se dau a si n, sa se calculeze a la puterea n RV1 - Suma elementelor unui vector RV2 - Produsul elementelor RV3 - Maximul elementelor RV4 - Cautare numar in vector RV5 - Suma elementelor dintre al 2-lea si al 5-lea din vector RF1 - Fibonacci f(1)=1 f(2)=2 f(n)=f(n-1)+f(n-2) pentru n>=3 RF3 - 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 - Manna-Pnuelli mp=x-1, daca x>=12 mp=mp(mp(x+2)), daca x<12 RF4 - Ackermann Ack(0,n)=n+1 pentru n e N Ack(m,0)=Ack(m-1,1) pentru m e N* Ack(m,n)=Ack(m-1,Ack(m,n-1)) pentru m,n e N*

Tipul de data articol - Lucru cu fisiere Fisiere text F1 - Un fisier text contine siruri pe mai multe randuri. Sa se citeasca sirurile si sa se scrie in ordine inversa in alt fisier. F2 - Un fisier text contine mai multe numere. Sa se citeasca numerele si sa se scrie ordonate crescator in alt fisier. Fisiere cu tip FT1 - Sa se realizeze un tip de data [ persoana / masina / firma ] FT2 - Se da un vector de tip persoana, sa se ordoneze dupa nume FT3 - Sa se realizeze un program de gestiune [a unei agende telefonice / al unui top muzical / al unor facturi] Operatii de baza: Introducere / Afisare / Modificare / Stergere / Cautare

Algoritmi Divide et impera ("D&i")

-9-

D1 - Se da un vector v si un numar x, sa se afiseze daca x exista sau nu in vector folosind cautarea binara (spargere in doua a vectorului ordonat) D2 - Se da un vector, sa se afle maximul sau folosind algoritmul "D&i" (aflare maxim pt.fiecare jumatate, apoi pt.fiecare jumatate din jumatate, samd) Backtracking B1 - Se da un numar x, sa se afiseze P(x) = permutari de x (Exemplu pt. x=3: 123, 132, 213, 231, 312, 321) B2 - Se dau n si k, sa se afiseze combinarile de n luate cate k posibile B3 - Se dau valorile monedelor, se da o suma, sa se afiseze varianta de plata a sumei in numarul minim de monede

Liste Creare l.s.i. LC1 - Sa se creeze o lista simplu-inlantuita din 3 noduri, a,b,c LC2 - Sa se adauge un nod d la sfarsitul listei LC3 - Sa se insereze un nod e intre b si c LC4 - Sa se stearga nodul c LC5 - Sa se interschimbe nodul b cu nodul d LC6 - Sa se creeze o lista circulara Parcurgere LP1 - Sa se afiseze o lista simplu-inlantuita LP2 - Sa se calculeze suma elementelor dintr-o lista simplu-inlantuita LP3 - Sa se calculeze media elementelor din lista LP4 - Sa se afle cel mai mare numar dintr-o lista simplu-inlantuita LP5 - Sa se caute o valoare intr-o lista simplu-inlantuita LP6 - Sa se numere cate elemente are o lista circulara Creare dinamica LD1 - Sa se creeze dinamic o lista simplu-inlantuita (se citesc numere pana se introduce valoarea 0) LD2 - Se da un vector v, se da un numar x, sa se caute x in vector si sa se stocheze pozitiile unde este gasit intr-o lista LD3 - Sa se creeze o lista care sa contina primele 10 numere pare LD4 - Sa se creeze o lista care sa contina elementele prime pana la un nr citit de la tastatura LD5 - Sa se insereze un nod intr-o lista simplu-inlantuita intr-o pozitie introdusa de la tastatura LD6 - Sa se insereze 0 dupa fiecare numar par LD7 - Sa se stearga un nod dintr-o lista simplu-inlantuita (se da pozitia acestuia de la tastatura) Alte exercitii LA1 - Sa se stearga elementele pare de la inceputul unei lsi, pana se intalneste un numar impar LA2 - Sa se stearga toate elementele pare dintr-o lsi LA3 - Sa se ordoneze o ldi

Stiva (cutia de carti) St1 - Sa se simuleze folosirea unei stive cu ajutorul unui vector St2 - Sa se simuleze folosirea unei stive cu ajutorul unei liste dublu inlantuite Coada (la paine) C1 - Sa se simuleze folosirea unei cozi cu ajutorul unui vector C2 - Sa se simuleze folosirea unei cozi cu ajutorul unei liste simplu inlantuite

Grafuri Se da un graf (X,G), X=multimea nodurilor, G=multimea relatiilor dintre noduri

- 10 -

Notiuni in teoria grafurilor: neorientate/orientate , nod (varf), arc (muchie), grad de incidenta, nod izolat, drum, lant, circuit, drum/lant/circuit elementar, subgraf, graf partial, graf complet, graf complementar, graf bipartit, componente conexe, componente tare conexe, graf conex, graf hamiltonian, graf eulerian O componenta este conexa daca oricare doua varfuri sunt conectate printr-un lant. Un graf este hamiltonian daca are n ciclu elementar (care trece prin toate nodurile). Un graf este eulerian daca este conex si gradele tuturor varfurilor sunt pare.

- 11 -

Gi1 - Se dau de la tastatura numarul de noduri si arcele, sa se stocheze graful intr-o matrice de adiacenta Se dau de la tastatura numarul de noduri, numarul de arce si arcele Gi2 - sa se stocheze graful intr-o matricea de adiacenta Gi3 - sa se stocheze graful in liste de adiacenta Gi4 - sa se stocheze graful intr-un fisier text Se dau cele trei forme de stocare ale unui graf (matrice de adiacenta, liste de adiacenta, fisier text) Gi5 - Se da matricea de adiacenta, sa se creeze fisierul text Gi6 - Se da fisierul text, sa se creeze matricea de adiacenta Gi7 - Se da matricea de adiacenta, sa se creeze listele de adiacenta Gi8 - Se da fisierul text, sa se creeze listele de adiacenta Gi9 - Se dau listele de adiacenta, sa se creeze matricea de adiacenta Gi10 - Se dau listele de adiacenta, sa se creeze fisierul text Exercitii diverse Gd1 - Sa se afiseze gradele de incidente [interioare / exterioare] ale nodurilor Gd2 - Se cere un nod, sa se afiseze toate nodurile [catre care / de la care / si catre, si de la care] acesta are arce Gd3 - Parcurgerea in latime (BF) Gd4 - Parcurgerea in adancime (DF) Gd5 - Sa se realizeze matricea drumurilor Gd6 - Sa se determine componentele tare conexe Gd7 - Sa se spuna daca graful este tare conex Gr1 - Sa se afiseze nodurile cu gradul de incidenta interior egal cu cel exterior Gr2 - Matricea ponderilor Gr3 - Roy Warshall, Roy Floyd Gr4 - 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 Ga1 - Metode de reprezentare: vectorul tata Arbori binari Ga2 - Metode de reprezentare: vectorii stanga si dreapta Ga3 - Parcurgera arborilor binari: svd, sdv, vsd

Alte probleme A1 - *** - Se dau m si n, cu 0<m<n<65000. Sa se afiseze cate zerouri contine la sfarsit numarul n!/m!

- 12 -

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