You are on page 1of 15

1

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

int a[2] [3]={1,2,3,4,5,6}; Matricea va arata in felul urmator: 123 456


6

Sunt matricile care au acelasi numari de coloane si acelasi numar de linii. Exemplu: m=3 n=3 100 356 201

Diagonala secundara intr-o matrice patratica: 100 356 201

for (i=0;i<m;i++) { for (j=0;i<n;j++) cout<<setw(3)<<a[i][j]; cout<<endl; }

#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

int i,j,n=5; for (i=0;i<n;i++) { for (j=0;j<n;j++) { cout<<a[i][j]<<" "; } cout<<endl; }


12

cout<<endl<<"Sub diagonala secundara: "; for (i=n-1;i>0;i--) { for (j=n-i;j<n;j++) { cout<<a[i][j]<<" "; } } }

13

C.N. Vladimir Streinu Clasa a X-a A


14

Bibliografie
Gh. Barbu, "Bazele informaticii";
Tudor Sorin, "Turbo Pascal. Algoritmi i limbaje de

programare.", Ed. L&S INFOMAT;


Adrian Atanasiu, Rodica Pintea, "Culegere de probleme

Pascal", Ed. Petrion, Bucureti 1996.

15

You might also like