Documente Academic
Documente Profesional
Documente Cultură
Probleme rezolvate
O matrice este o forma de organizare tabelara a unor elemente care au acelsi tip,
componentele acesteia putand fi identificate printr-un nume urmat (intre paranteze
drepte) de pozitia acestora in cadrul vectorului. Identificarea pozitiei in cadrul
matricii se realizeaza prin specificarea liniei si coloanei pe care se afla
elementul matricii.
int M[5][6];
Un caz particular de matrice este matricea patratica, caz in care numarul de linii
este egal cu numarul de coloane:
int M[5][5];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <iostream>
using namespace std;
int main()
{
int i, j, m, n, M[10][10];
cout<<"Introduceti numarul de linii: m=";
cin>>m;
cout<<"Introduceti numarul de coloane: n=";
cin>>n;
cout<<"Introduceti numerele:"<<endl;
for (i=0;i<m;i++)
for (j=0;j<n;j++)
{
cout<<"M["<<i<<"]["<<j<<"]=";cin>>M[i][j];
}
}
Introduceti numarul de linii: m=2
Introduceti numarul de coloane: n=3
Introduceti numerele:
M[0][0]=6
M[0][1]=2
M[0][2]=9
M[1][0]=3
M[1][1]=4
M[1][2]=6
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <iostream>
using namespace std;
int main()
{
int i, j;
int M[2][3]={6,2,9,3,4,6};
cout<<"Elementele sirului sunt urmatoarele:"<<endl;
for (i=0;i<2;i++)
for (j=0;j<3;j++)
{
cout<<"M["<<i<<"]["<<j<<"]="<<M[i][j]<<endl;
}
}
Elementele matricii sunt urmatoarele:
M[0][0]=6
M[0][1]=2
M[0][2]=9
M[1][0]=3
M[1][1]=4
M[1][2]=6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #include <iostream>
using namespace std;
int main()
{
int i, j, m, n, M[10][10], suma;
cout<<"Introduceti numarul de linii: m=";
cin>>m;
cout<<"Introduceti numarul de coloane: n=";
cin>>n;
suma=0;
cout<<"Introduceti numerele:"<<endl;
for (i=0;i<m;i++)
for (j=0;j<n;j++)
{
cout<<"M["<<i<<"]["<<j<<"]=";cin>>M[i][j];
suma=suma+M[i][j];
}
cout<<"Suma elementelor matricii este: "<<suma<<endl;
}
Introduceti numarul de linii: m=2
Introduceti numarul de coloane: n=3
Introduceti numerele:
M[0][0]=6
M[0][1]=2
M[0][2]=9
M[1][0]=3
M[1][1]=4
M[1][2]=6
Suma elementelor matricii este: 30
Probleme rezolvate
1. Sa se calculeze media aritmetica a elementelor unei matrici su m linii si n
coloane. Solutie
2. Sa se calculeze suma elementelor de pe diagonala principala a unei matrici
patratice. Solutie
3. Sa se calculeze produsul elementelor de pe diagonala secunadara a unei
matrici patratice. Solutie
4. Sa se calculeze suma elemntelor de pe fiecare linie a unei matrici de
dimensiune m x n. Solutie
5. Sa se calculeze suma elemntelor de pe fiecare coloana a unei matrici de
dimensiune m x n. Solutie
6. Sa se afiseze transpusa unei matrici. Solutie
7. Sa se afizeze matricea obtinuta prin adunarea a doua matrici.
Solutie
8. Sa se afizeze matricea obtinuta din produsul a doua matrici.
Solutie
9. Sa se afiseze elementele aflate deasupra diagonalei principale a unei matrici
si sa se afiseze suma acestora. Solutie
10. Sa se afiseze elementele aflate sub diagonala principala a unei matrici si sa
se afiseze suma acestora. Solutie
11. Sa se afiseze cate numere sunt pozitive, negative, respectiv nule, intr-o
matrice bidimensionala. Solutie
12. Sa se afiseze matricea obtinuta in urma eliminarii penultimei linii,
respectiv coloane din matricea data. Solutie
Rezolvari
1. Sa se calculeze media aritmetica a elementelor unei matrici su m linii si n
coloane.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 #include <iostream>
using namespace std;
int main()
{
int n,m,i,j,a[20][20];
int nr,s=0;
cout<<"m=";cin>>m;
cout<<"n=";cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea este:"<<endl;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
s=s+a[i][j];
nr=m*n;
cout<<"Matricea contine:"<<nr<<" elemente"<<endl;
cout<<"Suma elementelor matricii este:"<<s<<endl;
cout<<"Media aritmetica a acestora este: "<<(float)s/nr;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <iostream>
using namespace std;
int main()
{
int n,i,j,a[20][20],s=0;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea este:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
for(i=1;i<=n;i++)
s=s+a[i][i];
cout<<"Suma elementelor de pe diagonala principala a matricii este:"<<s<<endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <iostream>
using namespace std;
int main()
{
int n,i,j,a[20][20],p=1;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea este:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
for(i=1;i<=n;i++)
p=p*a[i][n-i+1];
cout<<"Produsul elementelor de pe secundara a matricii este:"<<p<<endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #include <iostream>
using namespace std;
int main()
{
int m,n,i,j,a[20][20],s;
cout<<"m=";cin>>m;
cout<<"n=";cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea este:"<<endl;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
for(i=1;i<=m;i++)
{
s=0;
for(j=1;j<=n;j++)
s=s+a[i][j];
cout<<"Suma elementelor de pe linia "<<i<<" este: "<<s<<endl;
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #include <iostream>
using namespace std;
int main()
{
int m,n,i,j,a[20][20],s;
cout<<"m=";cin>>m;
cout<<"n=";cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea este:"<<endl;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
for(j=1;j<=n;j++)
{
s=0;
for(i=1;i<=m;i++)
s=s+a[i][j];
cout<<"Suma elementelor de pe coloana "<<j<<" este: "<<s<<endl;
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #include <iostream>
using namespace std;
int main()
{
int n,i,j,a[20][20],at[20][20];
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea este:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<"Matricea transpusa este:"<<endl;
for(i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
{
at[i][j]=a[j][i];
cout<<at[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 #include <iostream>
using namespace std;
int main()
{
int m,n,i,j,a[20][20],b[20][20],s[20][20];
cout<<"Introduceti dimensiunile celor 2 matrici"<<endl;
cout<<"m=";cin>>m;
cout<<"n=";cin>>n;
cout<<"Introduceti prima matrice: "<<endl;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Introduceti a doua matrice: "<<endl; for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<"b["<<i<<"]["<<j<<"]=";
cin>>b[i][j];
s[i][j]=a[i][j]+b[i][j];
}
cout<<"Prima matrice este:"<<endl;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<"A doua matrice este:"<<endl;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<"Suma celor doua matrici este:"<<endl;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<s[i][j]<<" ";
cout<<endl;
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 #include <iostream>
using namespace std;
int p[20][20];
int main()
{
int m,n,o,i,j,k,a[20][20],b[20][20];
cout<<"Introduceti dimensiunile matricii a[mxn]:"<<endl;
cout<<"m=";cin>>m;
cout<<"n=";cin>>n;
cout<<"Introduceti dimensiunile matricii b[nxo]:"<<endl;
cout<<"n="<<n<<endl;
cout<<"o=";cin>>o;
cout<<"Introduceti prima matrice a[mxn]:"<<endl;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Introduceti a doua matrice b[nxo]:"<<endl;
for(j=1;j<=n;j++)
for(k=1;k<=o;k++)
{
cout<<"b["<<j<<"]["<<k<<"]=";
cin>>b[j][k];
}
cout<<"Prima matrice a[mxn] este:"<<endl;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<"A doua matrice b[nxo] este:"<<endl;
for(j=1;j<=n;j++)
{
for(k=1;k<=o;k++)
cout<<b[j][k]<<" ";
cout<<endl;
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
p[i][j]=p[i][j]+a[i][k]*b[k][j];
cout<<"Matricea produs - b[nxo] este:"<<endl;
for(i=1;i<=m;i++)
{
for(j=1;j<=o;j++)
cout<<p[i][j]<<" ";
cout<<endl;
}
return 0;
}
9. Sa se afiseze elementele aflate deasupra diagonalei principale a unei matrici
si sa se afiseze suma acestora.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 #include <iostream>
using namespace std;
int main()
{
int n,i,j,a[20][20],s=0;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea este:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<"Elementele aflate deasupra diagonalei principale sunt:"<<endl;
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
if (j>=i)
{
cout<<a[i][j]<<" ";
s=s+a[i][j];
}
else
cout<<" ";
cout<<endl;
}
cout<<"Suma elementelor aflate deasupra diagonalei principale este s="<<s<<endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 #include <iostream>
using namespace std;
int main()
{
int n,i,j,a[20][20],s=0;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea este:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<"Elementele aflate sub diagonala principala sunt:"<<endl;
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
if (j<=i)
{
cout<<a[i][j]<<" ";
s=s+a[i][j];
}
else
cout<<" ";
cout<<endl;
}
cout<<"Suma elementelor aflate sub diagonala principala este s="<<s<<endl;
return 0;
}
11. Sa se afiseze cate numere sunt pozitive, negative, respectiv nule, intr-o
matrice bidimensionala.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 #include <iostream>
using namespace std;
int main()
{
int n,i,j,a[20][20],poz=0,neg=0,zero=0;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea este:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
cout<<a[i][j]<<" ";
if (a[i][j]<0)
neg++;
else
if (a[i][j]>0)
poz++;
else
zero++;
}
cout<<endl;
}
cout<<"Matricea contine:"<<endl;
cout<<neg<<" elemente negative"<<endl;
cout<<poz<<" elemente pozitive"<<endl;
cout<<zero<<" elemente nule"<<endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 #include<iostream>
using namespace std;
int a[10][10],i,j,n,x,y;
int main()
{
cout<<"Dimensiunea matricii: n=";cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
} cout<<endl<<"Linia de sters: x=";
cin>>x;
for (i=x;i<n;i++)
for(j=1;j<=n;j++)
a[i][j]=a[i+1][j];
for(i=1;i<n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<endl<<"Coloana de sters: y=";
cin>>y;
for (i=1;i<n;i++)
for(j=y;j<n;j++)
a[i][j]=a[i][j+1];
for(i=1;i<n;i++)
{
for(j=1;j<n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
}