Sunteți pe pagina 1din 3

TABLOURI C++

Numim tablou o colecie ( grup, mulime ordonat ) de date , de acelai tip , situate ntr -o zona de memorie continu ( elementele tabloului se afl la adrese succesive). Tablourile sunt variabile compuse (structurate) , deoarece grupeaz mai multe elemente. Variabilele tablou au nume , iar tipul tabloului este dat de tipul elementelor sale. Elementele tabloului pot fi referite prin numele tabloului i indicii ( numere intregi ) care reprezint poziia elementului n cadrul tabloului. n funcie de numrul indicilor utilizai pentru a referi elementele tabloului , putem ntlni tablouri unidimensionale (vectori) sau multidimensionale ( matricile sau tablourile bidimensionale ). Limbajul C++ ofera posibilitatea de a memora toate elementele sirului intr-o singura variabila indexata,in care elementele sunt dispuse intr-o anumita ordine,ocupand locatii de memorie succesive,binedeterminate. O astfel de variabila se numeste tablou unidimensional sau vector. Pentru a referi un anumit element al vectorului, trebuie sa scriem numele variabilei-vector,urmat de pozitia elementului cuprinsa intre paranteze. Declararea vectorului Un vector trebuie declarat, la fel ca orice variabila, in sectiunea de declaratii a programului.In declaratia unui vector trebuie sa apara:identificatorul( numele) vectorului si tipul elementelor. exemplu: int v[30]; Am declarat un vector v cu maxim 30 de elemente numere intregi; -numele variabilei-vector este v; -tipul elementelor vectorului este int,adica elementele sunt numere intregi; -elementele vectorului sunt v[0],v[1],.....v[29] ,avand indicii 0,1,2,.....,29. Citirea unui vector Deoarece v este o variabila compusa,nu putem citi dintr-o data toate elementele vectorului. Vom citi mai intai numarul real de elemente n. cout<<"n="; cin>>n; for(i=1;i<=n;i++) { cout<<"v["<<i<<"]="; cin>>v[i]; } Afisarea unui vector Folosind aceeasi metoda de parcurgere a vectorului,vom parcurge pozitiile elementelor din vector i=1,2...,n si pentru fiecare valoare a lui i,afisam elementul de pe pozitia i,adica v[i]. for(i=1;i<=n;i++) cout<<v[i]<<" ";

Tabloul bidimensional reprezint o succesiune de locaii de memorie recunoscute prin acelai identificator i prin poziia fiecreia n cadrul irului. Poziia este dat printr -o suita de dou numere pozitive ( indeci ) , care reprezint cele doua dimensiuni ( linie i coloan ). Valorile atribuite elementelor tabloului trebuie sa fie de acelai tip. Din punct de vedere conceptual , elementele unui tablou bidimensional sunt plasate n spaiu pe doua direcii . Matricea reprezint o aplicaie natural a tablourilor bidimensionale. O matrice este un tabel cu elemente de acelai tip, dispuse pe linii i coloane . Poziia unui element pe linie se numete i indice de linie , iar poziia elementului pe coloan se mai numete i indice de coloan.

Matricea are m x n elemente . Prin elementul nelegem elementul care se afl pe linia I i coloana j.

matrice.txt Declararea matricei Sintaxa generala: tip_nume [marime1][marime2], ( n C++ matricea fiind de fapt un vector de vectori ) , unde: - tip tipul de baz al componentelor matricei; - nume numele matricei; - marime 1 numrul de linii al matricei; - marime 2 numrul de coloane al matricei; Exemplu: int a[7][8]; am declarat o matrice care are 7 linii si 8 coloane , numerotate de la 0 la 6 , respectiv de la 0 la 7 ( exist posibilitatea , chiar indicat , de a se numerota de la 1 la 7 ,respectiv de la 1 la 8 ). Fiecare element al matricei este de tipul int. Ele se adreseaz astfel : a[0][0],a[0][1] . . . a[6][7]. Limbajul C++ nu ne permite sa declarm o variabil tablou cu numr variabil de componente , posibilitate oferit de alte limbaje. De multe ori nu se cunoate numrul de componente necesar rulrii programului. Este necesar s rezervm un numr maxim de componente , att ct este necesar pentru rulare cnd n este maxim. La fiecare rulare a programului se cere numrul de componente . De cele mai multe ori , o parte din ele rmn neutilizate. n memorie , tablour ile sunt

memorate pe linii. Asta inseamn c la nceput este memorat prima linie , apoi a doua i aa mai departe .

Citirea matricei Citirea elementelor unui tablou nu este posibil dect prin citirea fiecrui element . De aceea , la fel ca i n cazul vectorilor operaia de citire a matricelor impune folosirea a dou secvene ciclice suprapuse. Acestea corespund indicelor liniei ( i ) , respectiv coloanei ( j ). Citirea matricei se face avnd urmatoarea sintax general: cout<< n= ; cin>>n; for ( i=1; i<=n; i++) for ( j=1; j<=n; j++) { cout<< mat [ <<i<< , <<j<< ] = ; cin>>mat[i][j]; } Afiarea matricei Afiarea matricei for ( i=1; i<=n; i++) { for ( j=1; j<=n; j++) cout<<mat[i][j]; cout<<endl; } se face avnd urmatoarea sintax :

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