Sunteți pe pagina 1din 3

1. Fie A și B matrice, cu n linii și n coloane.

Să se construiască matricea C cu proprietatea:


a. C=A+B
#include <iostream>
using namespace std;
int main()
{
int a[10][10],b[10][10],c[10][10],i,j,n;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>b[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
c[i][j]=a[i][j]+b[i][j];
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
cout<<c[i][j]<<" ";
cout<<endl;
}
return 0;
}

b. C se obține din A, prin transformarea elementelor pozitive în elemente negative

#include <iostream>
using namespace std;
int main()
{
int a[10][10],c[10][10],i,j,n;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(a[i][j]>0) c[i][j]=-a[i][j];
else c[i][j]=a[i][j];
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
cout<<c[i][j]<<" ";
cout<<endl;
}
return 0;
}
c. C se obține din A, prin adăugarea unei coloane după ultima coloană
#include <iostream>
using namespace std;
int main()
{
int a[10][10],c[10][10],i,j,n;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
c[i][j]=a[i][j];
for(i=1;i<=n;i++)
cin>>c[i][n+1];
for(i=1;i<=n;i++)
{for(j=1;j<=n+1;j++)
cout<<c[i][j]<<" ";
cout<<endl;
}
return 0;
}

2. Se dă o matrice a, cu m linii și n coloane. Scrieţi un program C++ care să determine de


cate ori apare o valoare dată x ca element al matricii.
#include<iostream>
using namespace std;
int main(){
int a[20][30],i ,j, m, n,x,nr;
cin>>m; cin>>n;
cout<<"x="; cin>>x;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
{ cout<<endl<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j];
}
nr=0;
for(i=1; i<=m; i++)
{for(j=1; j<=n; j++)
if(a[i][j]==x)
nr++;
}
cout<<endl<<"nr="<<nr;
return 0;}
3. Se dă o matrice a, cu n linii și n coloane. Să se determine:
a. Maximul elementelor, din matrice
#include <iostream>
using namespace std;
int main()
{
int a[10][10],i,j,n,max;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
max=a[1][1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(max<a[i][j])
max=a[i][j];
cout<<"max="<<max;
return 0;
}
b. Maximul elementelor, de pe linia p
#include <iostream>
using namespace std;
int main()
{
int a[10][10],i,j,n,max,p;
cin>>n;cin>>p;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
max=a[p][1];
for(j=2;j<=n;j++)
if(max<a[p][j])
max=a[p][j];
cout<<"max="<<max;
return 0;
}

Temă
Scrieți un program C/C++ care citește de la tastatură valorile m, n și m*n elemente, numere
reale, ale unui tablou bidimensional. Să se determine norma matricei. Norma unei matrici
reprezintă valoarea maximă dintre sumele valorilor absolute ale elementelor din fiecare linie.

S-ar putea să vă placă și