Professional Documents
Culture Documents
Matricele sunt tablouri cu dou sau mai multe dimensiuni, cu un numr finit de elemente de acelai tip. n memorie matricele sunt reinute pe linii. Datorit acestui mod de memorare a matricei, indicele pentru coloane (j) variaz mai repede dect indicele pentru linii (i). De aceea, n C++ la scrierea unei matrice se folosesc dou structuri for, cea din interior variind mai repede. for (i=0;i<m;i++) for (j=0;j<n;j++)
2
Tipul elementelor unei matrice se numesc elemente de baz. Fiecare element al matricei este indentificat prin doi indici: unul pentru linia pe care se afl elementul i altul pentru coloan. Aceti indici variaz ntre 0 i n. tip_data nume matrice[nr1] [nr2] - tip data este tipul elementelor matricei (poate fii int, float, char, duble etc.) -nume matrice este identificatorul matricei (de exemlu a) ; -nr1 este numarul de linii ; -nr2 este numarul de coloane .
1. Citirea i afiarea. 2. Interschimbarea de linii i coloane. 3. Suma sau produsul elementelor unei matrice. 4. Calculul mimimului sau maximului dintre elementele unei matrice pentru matrice ptratice. 5.Suma sau produsul elemetelor de pe diagonala principal (secundar). 6.Suma sau produsul elementelor de pe conturul matricei. 7.Calculul determinantului unei matrice ptratice. 8.Calculul inversului unei matrice ptratice.
4
Pentru a face acest lucru avem nevoie de un indice pentru linii i si unul pentru coloane j.Trebuie sa specific ca m reprezinta numarul de linii al matricei, iar n numarul de coloane. Astfel avem: Cod: for (i=0;i<m;i++) //i ia valori de la 0 pana la numarul de linii for (j=0;j<n;j++) //j ia valori de la 0 pana la numarul de coloane { cout<<"a["<<i+1<<","<<j+1<<"]=";cin>>a[i ] [j]; }
5
Sunt matricile care au acelasi numari de coloane si acelasi numar de linii. Exemplu: m=3 n=3 100 356 201
#include <iostream.h> main() { int a[10][10],i,j,n,sp=0,ss=0; cout<<"n=";cin>>n; for (i=0;i<n;i++) for (j=0;j<n;j++) { cout<<"a["<<i+1<<","<<j+1<<"]=";cin>>a[i][j]; } for (i=0;i<n;i++) for (j=0;j<n;j++) if (i==j) sp+=a[i][j]; for (i=0;i<n;i++) for (j=n+1) ss+=a[i][j]; cout<<"Suma de pe diagonala principala: "<<sp; cout<<"Suma de pe diagonala secundara: "<<ss; }
10
Se considera o matrice patrata cu elemente numere intregi de dimeniunea n*n.Numarul n si elementele matrici se citesc de la tastatura.Sa se afiseze:
a)suma elementelor situate deasupra diagonalei principale b)suma elementelor situate sub diagonala secundara
11
cout<<endl<<"Sub diagonala secundara: "; for (i=n-1;i>0;i--) { for (j=n-i;j<n;j++) { cout<<a[i][j]<<" "; } } }
13
Bibliografie
Gh. Barbu, "Bazele informaticii";
Tudor Sorin, "Turbo Pascal. Algoritmi i limbaje de
15