Se da o matrice A cu n linii si m coloane. Sa se completeze aceasta matrice:
I. Adaugandu-se o linie care sa contina:
a)suma elementelor de pe coloana
b)cel mai mic element din coloana
c)cel mai mare element din coloana
II. Adaugandu-se o coloana care sa contina:
a)nr.elementelor pare de pe linie
b)nr.elementelor divizibile cu k
c)nr.elementelor negative
Rezolvarea m-ar ajuta enorm deoarece am nevoie de ea pentru teza :)
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int main()
{
int A[100][100], m, n, i, j;
cout<<"Introdu numar linii: "; cin>>n;
cout<<"Introdu numar coloane: "; cin>>m;
//facem o matrice de 10x10 cu toate el inafara de cele inserate de la tastatura vor fi egale cu 0
for(i=n;i<=10;i++)
{
for(j=m;j<=10;j++)
{
A[i][j] = 0;
}
}
//introducem matricea
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
cout<<"A["<<i<<"]["<<j<<"] = ";
cin>>A[i][j];
}
}
// Suma de pe fiecare coloana
for(j=1;j<=m;j++)
{
for(i=1;i<=n;i++)
{
A[n+1][j] += A[i][j]; //la elementul A[4][1] se adauga A[1][1], A[2][1] si A[3][1] de exemplu.
}
}
int min = 1000;
//min de pe fiecare coloana
for(j=1;j<=m;j++)
{
min = 1000;
for(i=1;i<=n;i++)
{
if (A[i][j] < min)
{
min = A[i][j];
}
A[n+2][j] = min;
}
}
//max pe fiecare coloana
int max = 0;
for(j=1;j<=m;j++)
{
max = 0;
for(i=1;i<=n;i++)
{
if (A[i][j] > max)
{
max = A[i][j];
}
A[n+3][j] = max;
}
}
//numar numere pare pe fiecare linie
int nr_pare = 0;
for(i=1;i<=n;i++)
{
nr_pare = 0;
for(j=1;j<=m;j++)
{
if (A[i][j] % 2 == 0)
{
nr_pare ++;
}
A[i][m+1] = nr_pare;
}
}
//numar numere divizibile cu k pe fiecare linie
int k = 4, div_k = 0;
for(i=1;i<=n;i++)
{
div_k = 0;
for(j=1;j<=m;j++)
{
if (A[i][j] % k == 0)
{
div_k ++;
}
A[i][m+2] = div_k;
}
}
//numar numere negative pe fiecare linie
int nr_negative = 0;
for(i=1;i<=n;i++)
{
nr_pare = 0;
for(j=1;j<=m;j++)
{
if (A[i][j] < 0)
{
nr_negative ++;
}
A[i][m+3] = nr_negative;
}
}
//afisare matrice cu cele 3 linii si 3 ocloane in plus
for(i=1;i<=n+3;i++)
{
for(j=1;j<=m+3;j++)
{
cout<<A[i][j]<<" ";
}
cout<<endl;
}
}