Tablouri
bidimensionale – matrice
Un tablou cu două dimensiuni se numeşte matrice.
Declarare
int
a[50][100], n, m, i, j;
S-a declarat:
– o matrice cu maxim 50 de linii şi 100 de coloane, numerotarea se face de la 0 sau de la 1.
– n- numarul efectiv de linii;
– m-numarul efectiv de coloane;
– i- contor pentru linie
– j- contor pentru coloane Citire:
for(i=1; i<=n;i++) for(j=1;j<=m;j++)
{
cout<<”a[“<<i<<”][“<<j<<”]=”;
cin>>a[i][j];
}
Afisare:
for(i=1;i<=n;i++) {
for(j=1;j<=j;j++)
cout<<a[i][j]<<”
“;
cout<<“
”; } Matrice
patratica Într-o
matrice pătratică numarul de linii= numarul de coloane (n=m). Într-o
matrice pătratică avem:
-
Diagonala
principala elementele a[i][i], cu i=1,n sau a[i][i], cu i=0,n-1
-
Diagonala
secundara elementele a[i][n-i+1], i=1,n sau a[i][n-i-1], i=0,n-1
Zonele determinate de diagonale:
I. Pe diagonala principală i=j
Sub diagonala principala: i>j Deasupra diagonalei principale: i<j
II. Pe diagonala secundară j=n-i+1
Sub diagonala secundara: j>n-i+1 Deasupra diagonalei secundare:j<n-i+1
| | 1. Sa se scrie un program C++ care citeste doua
matrice patratice de dimensiune n si determina suma
lor. | #include <iostream>
using namespace std;
int i,j;
void citire_matrice(int x[20][20], int n)
{
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
cout<<"x["<<i<<"]["<<j<<"]=";
cin>>x[i][j];
}
}
void afisare_matrice(int x[20][20], int n)
{ for (i=1; i<=n; i++)
{ for(j=1; j<=n; j++)
cout<<x[i][j]<<" ";
cout<<endl;
}
}
void suma(int a[20][20],int b[20][20], int n, int s[20][20])
{ for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
s[i][j]=a[i][j]+b[i][j];
}
main()
{ int a[20][20],b[20][20], c[20][20], n;
cout<<"n=";
cin>>n;
citire_matrice(a,n);
citire_matrice(b,n);
cout<<endl<<"Matricea A: "<<endl; afisare_matrice(a,n);
cout<<endl<<"Matricea B: "<<endl; afisare_matrice(b,n);
suma(a,b,n,c);
cout<<endl<<"Matricea suma: "<<endl; afisare_matrice(c,n);
return 0;
}
| | 2. Sa se scrie un program C++ care citeste o matrice
patratica de dimensiune n si determina suma
elementelor pare si elementul minim din matrice | #include <iostream>
using namespace std;
int i,j;
void citire_matrice(int x[20][20], int n)
{
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
cout<<"x["<<i<<"]["<<j<<"]=";
cin>>x[i][j];
}
}
void afisare_matrice(int x[20][20], int n)
{ for (i=1; i<=n; i++)
{ for(j=1; j<=n; j++)
cout<<x[i][j]<<" ";
cout<<endl;
}
}
int suma_pare(int a[20][20],int n)
{ int s=0;
for (int i=1; i<=n; i++)
for (int j=1; j<=n; j++)
if(a[i][j]%2==0) s=s+a[i][j];
return s;
}
int minim(int a[20][20],int n)
{ int min=a[1][1];
for (int i=1; i<=n; i++)
for (int j=1; j<=n; j++)
if(a[i][j]<min) min=a[i][j];
return min;
}
main()
{ int a[20][20],b[20][20], c[20][20], n;
cout<<"n=";
cin>>n;
citire_matrice(a,n);
cout<<endl<<"Matricea A: "<<endl; afisare_matrice(a,n);
cout<<endl<<"Suma elem. pare din A: "<<suma_pare(a,n);
cout<<endl<<"Elem. minim din A: "<<minim(a,n);
return 0;
}
|
|