Lista Probleme Part. I

1
Lista probleme Algoritmi úL WHKQLFL GH programare (partea I) I. Tipuri de date dinamice (in toate programele se vor folosi tipuri dinamice de date) 1. )LH XQ PDVLY XQLGLPHQVLRQDO FDUH PHPRUHD]ă YDORUL vQWUHJL 6FULHĠL XQ SURJUDP FDUH GHWHUPLQă frecvenĠHOH GH DSDULĠLH SHQWUX YDORULOH VWRFDWH vQ YHFWRU 2. )LH XQ PDVLY XQLGLPHQVLRQDO FDUH PHPRUHD]ă YDORUL vQWUHJL 6FULHĠL XQ SURJUDP FDUH LQVHUHD]ă FvWH R YDORDUH QXOă SH SR]LĠLD DQWHULRDUă ILHFăUHL YDORUL QHJDWLYH GLQ PDVLYXO FRQVLGHUDW 3. )LH GRXă PDVLYH XQLGLPHQVLRQDOH FDUH PHPRUHD]ă YDORUL vQWUHJL 6FULHĠL XQ SURJUDP FDUH LQWHUFODVHD]ă FHORU GRXă PDVLYH 4. )LH XQ PDVLY XQLGLPHQVLRQDO GH YDORUL UHDOH 6ă VH VFULH SURJUDPXO FDUH H[WUDJH SR]LĠLLOH SH FDUH VH DIOă YDORULOH PDL PDUL GHFvW YDORDUHD PHGLH D elementelor din masivul considerat 5. )LH XQ PDVLY XQLGLPHQVLRQDO GH YDORUL UHDOH 6ă VH VFULH SURJUDPXO FDUH GHFRQFDWHQHD]ă PDVLYXO FRQVLGHUDW într-XQ QXPăU GH VXE-masive pe baza unor puncte de rupere. 6. )LH XQ PDVLY ELGLPHQVLRQDO GH YDORUL UHDOH 6ă VH scrie programul pentru construirea matricei transpuse pentru masivul considerat. 7. )LH GRXă PDVLYH ELGLPHQVLRQDOH GH YDORUL vQWUHJL 6ă VH VFULH SURJUDPXO FDUH GHWHUPLQă PDWULFHD REĠLQXWă SULQ vQPXOĠLUHD FHORU GRXă PDVLYH FRQVLGHUDWH 8. Fie un masiv bidLPHQVLRQDO GH YDORUL vQWUHJL 6ă VH VFULH SURJUDPXO SHQWUX GHWHUPLQDUHD VXPHL HOHPHQWHORU SODVDWH VXE GLDJRQDOD VHFXQGDUă H[FOXVLY GLDJRQDOD 9. )LH XQ PDVLY ELGLPHQVLRQDO GH YDORUL UHDOH 6ă VH VFULH SURJUDPXO SHQWUX PRGLILFDUHD VWUXFWXULL XQHL matrice prin inserarea de linii. 10. )LH XQ PDVLY ELGLPHQVLRQDO GH YDORUL vQWUHJL 6ă VH VFULH SURJUDPXO FDUH VWDELOHúWH GDFă PDVLYXO FRQVLGHUDW este simetULF vQ UDSRUW FX GLDJRQDOD VHFXQGDUă II. Subprograme 1. ScrieЮi o funcЮLH FDUH Vă UHDOL]H]H URWXQMLUHD XQHL YDORUL UHDOH SR]LWLYH DVWIHO GDFD SDUWHD IUDFЮLRQDUă HVWH PDL PLFă GHFvW URWXQMLUHD VH IDFH OD YDORDUHD vQWUHDJă LQIHULRDUă DOWIHO VH IDFH OD YDORDUHD vQWUHDJă VXSHULRDUă 2. ScrieЮL XQ VXESURJUDP FDUH VRUWHD]ă FUHVFăWRU XQ YHFWRU SULQ PHWRGD EXOHORU 3. ScrieЮL XQ VXESURJUDP FDUH VRUWHD]ă FUHVFăWRU XQ YHFWRU SULQ PHWRGD LQWHUVFKLPEăULL 4. ScrieЮL XQ VXESURJUDP FDUH GHWHUPLQă HOHPHQWXO PLQim dintr-un vector Ьi toate poziЮiile pe care apare acesta. 5. ScrieЮL XQ VXESURJUDP FDUH DGDXJă vQWUXQ YHFWRU FvWH XQ HOHPHQW FX YDORDUHD a GXSă ILHFDUH HOHPHQW FX valoarea b. 6. ScrieЮL XQ VXESURJUDP FDUH FDOFXOHD]ă SURGXVXO GLQWUH GRXă PDWULFH 7. ScrieЮi un subprogram care VRUWHD]ă FUHVFăWRU HOHPHQWHOH GH SH OLQLD k D XQHL PDWULFH DORFDWH GLQDPLF IăUă D modifica structura coloanelor. 8. ScrieЮi un subprogram care GHWHUPLQă QXPăUXO GH HOHPHQWH Ьi elementul maxim din triunghiul aflat sub ambelor diagonale (exclusiv) ale unei matrice alocate dinamic. 9. ScrieЮL XQ VXESURJUDP FDUH GHWHUPLQă HOHPHQWXO PLQLP GLQWU-un vector Ьi toate poziЮiile pe care apare acesta. Vectorul de poziЮLL UH]XOWDW WUHEXLH Vă ILH DORFDW GLQDPLF vQ IXQFЮie. 10. ScrieЮi un subprograP UHFXUVLY FDUH FDOFXOHD]ă (aranjamente de n luate cîte k).

description

Lista Probleme Part. I

Transcript of Lista Probleme Part. I

Page 1: Lista Probleme Part. I

Lista probleme Algoritmi şi tehnici de programare

(partea I)

I. Tipuri de date dinamice (in toate programele se vor folosi tipuri dinamice de date)

1. Fie un masiv unidimensional care memorează valori întregi. Scrieţi un program care determină frecvenţele de apariţie pentru valorile stocate în vector.

2. Fie un masiv unidimensional care memorează valori întregi. Scrieţi un program care inserează cîte o valoare nulă pe poziţia anterioară fiecărei valori negative din masivul considerat.

3. Fie două masive unidimensionale care memorează valori întregi. Scrieţi un program care interclasează celor două masive.

4. Fie un masiv unidimensional de valori reale. Să se scrie programul care extrage poziţiile pe care se află valorile mai mari decît valoarea medie a elementelor din masivul considerat

5. Fie un masiv unidimensional de valori reale. Să se scrie programul care deconcatenează masivul considerat într-un număr de sub-masive pe baza unor puncte de rupere.

6. Fie un masiv bidimensional de valori reale. Să se scrie programul pentru construirea matricei transpuse pentru masivul considerat.

7. Fie două masive bidimensionale de valori întregi. Să se scrie programul care determină matricea obţinută prin înmulţirea celor două masive considerate.

8. Fie un masiv bidimensional de valori întregi. Să se scrie programul pentru determinarea sumei elementelor plasate sub diagonala secundară, exclusiv diagonala.

9. Fie un masiv bidimensional de valori reale. Să se scrie programul pentru modificarea structurii unei matrice prin inserarea de linii.

10. Fie un masiv bidimensional de valori întregi. Să se scrie programul care stabileşte dacă masivul considerat este simetric în raport cu diagonala secundară.

II. Subprograme

1. Scrieți o funcție care să realizeze rotunjirea unei valori reale pozitive astfel: daca partea fracționară este mai mică decît 0.7, rotunjirea se face la valoarea întreagă inferioară, altfel se face la valoarea întreagă superioară.

2. Scrieți un subprogram care sortează crescător un vector prin metoda bulelor.

3. Scrieți un subprogram care sortează crescător un vector prin metoda interschimbării.

4. Scrieți un subprogram care determină elementul minim dintr-un vector și toate pozițiile pe care apare acesta.

5. Scrieți un subprogram care adaugă într/un vector cîte un element cu valoarea a după fiecare element cu valoarea b.

6. Scrieți un subprogram care calculează produsul dintre două matrice.

7. Scrieți un subprogram care sortează crescător elementele de pe linia k a unei matrice alocate dinamic, fără a modifica structura coloanelor.

8. Scrieți un subprogram care determină numărul de elemente și elementul maxim din triunghiul aflat sub ambelor diagonale (exclusiv) ale unei matrice alocate dinamic.

9. Scrieți un subprogram care determină elementul minim dintr-un vector și toate pozițiile pe care apare acesta. Vectorul de poziții rezultat trebuie să fie alocat dinamic în funcție.

10. Scrieți un subprogram recursiv care calculează (aranjamente de n luate cîte k).