You are on page 1of 7

Proiect la informatica

TABLOURI BIDIMENSIONALE Patrate Concentrice


Octavian Guzu CLASA A X-A

Implementarea tablourilor bidimensionale


*Un

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.

Matricea cu m linii si n coloane arata astfel:

Citirea si afisarea unui tablou bidimensional


*Citirea elementelor unui tablou nu este posibila decat prin citirea fiecarui

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.

Introducerea si afisarea valorilor


*Programul alaturat citeste si afiseaza o matrice. Initial se citesc numarul de linii si coloane ale tabloului (m si n).
#include<iostream.h> main() { int m,n,i,j,a[10][10]; cout<<"m="; cin>>m; cout<<"n="; cin>>n; for (i=1; i<=m;i++) for (j=1; j<=n; j++) { cout<<"a["<<i<<','<<j<<"]="; cin>>a[i][j];} for (i=1;i<=m;i++) { for (j=1;j<=n;j++) cout<<a[i][j]<<' '; cout<<endl; } }

*In memorie, tablourile sunt memorate pe linii (prima linie, a doua s.a.m.d).

unui tablou bidimensional in memorie este reprezentata in figura de mai jos:


Ex:Introducerea unui tablou de 6 linii si 8 coloane,avand ele-mente intregi,este de forma:Int x[6][8]

* 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

You might also like