Professional Documents
Culture Documents
tablou bidimensional este o succesiune de locatii de memorie recunoscute prin acelasi identificator si prin pozitia fiecareia in cadrul sirului.
*Pozitia este data printr-o suita de numere pozitive(indecsi), care reprezinta cele doua dimensiuni (linie si coloana).
*Tabloul are un numar bine determinat de elemente si se identifica printr-un singur nume. *Valorile atribuite elementelor tabloului trebuie sa fie de acelasi tip. *Tablourile bidimensionale se numesc MATRICE.
Matrice
* Descriere generala
Sintaxa de declarare a unei matrice este: tip nume[m][n], unde: * tip tipul de data folosit; poate fi unul din tipurile de baza (int, float, char, ) sau un tip definit de utilizator (articole, obiecte) * nume numele prin care va fi referita matricea * m numarul de linii din matrice * n- numarul de coloane din matrice Exemple de declaratii: // matrice de intregi cu 10 linii si 10 coloane int vanzari[10][10]; // vector de valori reale float temperature[3][15]; Memorarea matricelor se face, ca si in cazul vectorilor, intr-un spatiu continuu de memorie. Numele matricei e un pointer catre adresa primului element.Elementele matricei sunt stocate in memorie linie dupa linie.
element. De aceea, la fel ca si in cazul vectorilor, operatia de citire a matricelor impune folosirea a doua secvente ciclice suprapuse. Acestea corespund indicelor liniei (i), respectiv coloanei (j). *Exemplu: Declararea unei matrice cu 10 linii i 9 coloane, cu elemente de tip intreg este: Int a[10][9]; Matricea are liniile 1,2,10 i coloanele 1, 2,,9 si, de exemplu, elementul de pe linia a treia si coloana a patra se adreseaz prin a[3][4] De multe ori nu tim cte linii i cte coloane va trebui s aib tabloul. n acest caz , tabloul se declar cu un numr maxim de linii i un numr maxim de coloane, n aa fel nct acesta s corespund oricrui set de date de intrare. Evident , ntr-un astfel de caz exist o risip de memorie intern.
*In memorie, tablourile sunt memorate pe linii (prima linie, a doua s.a.m.d).
* Organizarea
Exemplu de instructiuni de atribuire: x[0][0]=23; x[0][5]=67; [0] [1] [2] [3] [4] [5] [6] [7]
X
[0] [1] [2] [3] [4] [5] 23 67