You are on page 1of 3

Laborator 5

Exemplul 1: Introducerea de numere, de la 1 la 12, ntr-o matrice bidimensional rnd a acestora. #include<iostream.h> void main() { int i,j, matrice[3][4]; for (i=0;i<3;++i) for (j=0;j<4;++j) matrice[i][j]=(i*4)+j+1; //afisare for (i=0;i<3;++i) { for (j=0;j<4;++j) cout<<matrice[i][j]<<"\n"; } } Exemplul 2: Program de lucru cu matrici citire, calculul transpusei, suma a dou matrici, produsul dintre dou matrici, afi area rezultatelor #include<iostream.h> #include<conio.h> void citeste(int a[10][10], int m, int n) { int i,j; for (i=0; i<m;i++) { for(j=0;j<n;j++) cin>>a[i][j]; } } void transpusa (int a[10][10], int b[10][10], int m, int n) { int i,j; for (i=0;i<m;i++) for (j=0;j<n;j++) b[i][j]=a[j][i]; } void aduna(int a[10][10], int b[10][10], int c[10][10], int m, int n) { int i,j; for (i=0;i<m;i++)
1

i afi area rnd cu

for (j=0;j<n;j++) c[i][j]=a[i][j]+b[i][j]; } void produs(int a[10][10], int b[10][10], int c[10][10], int m, int n, int p) { int i,j,k; int s; for(i=0;i<m;i++) for (j=0;j<p;j++) { s=0; for(k=0;k<n;k++) s +=a[i][k]*b[k][j]; c[i][j]=s; } } void afiseaza(int a[10][10], int m, int n) { int i,j; for (i=0;i<m;i++) { for (j=0;j<n;j++) cout<<\t<<a[i][j]; cout<<endl; } } void main() { clrscr(); int x[10][10], y[10][10], z[10][10]; int lin_col; cout<< "lin_col="; cin>>lin_col; cout<<"Matricea x:"<<endl; citeste(x,lin_col, lin_col); cout<<"Matricea y:"<<endl; citeste(y,lin_col, lin_col); transpusa(x,z,lin_col, lin_col); cout<<"X^T="<<endl; afiseaza(z,lin_col, lin_col); aduna(x,y,z,lin_col, lin_col); cout<<"Z=X+Y"<<endl; afiseaza(z,lin_col, lin_col); produs(x,y,z,lin_col, lin_col, lin_col);
2

cout<<"Z=X*Y"<<endl; afiseaza(z,lin_col, lin_col); getch(); //determin a teptarea ap s rii unei taste pentru fiecare num r } Exemplul 3: Program care exemplific modalitatea de interschimbabilitate dintre 2 numere #include<iostream.h> void schimba(int *x, int *y) { int temp=*x; *x=*y; *y=temp; } void main() { int a,b; cout<<"a="; cin>>a; cout<<"b="; cin>>b; schimba(&a,&b); cout<<"a="<<a<<"\t"<<"b="<<b<<endl; } Exemplul 4: Program care exemplific modalitatea de utilizare a pointerilor n vederea argument rii conceptului transfer prin referinD folosirea unei funcDii care dubleaz valoarea unei variabile a c rei adres o prime te. #include<iostream.h> void dubleaza(int *p); //AtenDie! A nu se uita declararea prototipului funcDiei void main() { int a=2, b=4; cout<<"Valoarea lui a inainte de dublare este"<<"\t"<<a<<"\n"; cout<<"Valoarea lui b inainte de dublare este"<<"\t"<<b<<"\n"; dubleaza(&a); //transmite adresa lui a dubleaza(&b); //transmite adresa lui b cout<<"Valoarea lui a dupa dublare este"<<"\t"<<a<<"\n"; cout<<"Valoarea lui b dupa dublare este"<<"\t"<<b<<"\n"; } void dubleaza(int *p) { *p=*p *2; } Sarcini de lucru! o ScrieDi un program care apeleaz o funcDie tripleaz , care preia adresa unui ntreg i tripleaz valoarea indicat (sugestie: utilizaDi programul de la exemplul anterior pentru a efectua acest lucru).
3

You might also like