Să se scrie o funcție numită inserareMedie care primește un număr N, un număr M, o matrice mt care poate avea maxim 51 de linii și maxim 51 de coloane și un număr k. Funcția va insera pe poziția k o nouă linie în matrice, având pe fiecare coloană un număr rațional egal cu media aritmetică a elementelor de pe acea coloană. Parametrii N și M vor fi transmiși prin referință.
Exemplu
int N = 2, M = 2;
double mt[51][51]={{1,1}, {2,2}};
inserareMedie(N, M, mt, 1);
// mt va fi
// 1 1
// 1.5 1.5
// 2 2
// N va fi 3, M va fi 2
1 ≤ N, M ≤ 50
0 ≤ k ≤ N
-100 ≤ mt[i][j] ≤ 100
Liniile și coloanele matricei sunt numerotate începând cu 0
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n,m,i,j,k;
float S=0;
cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
cout<<"k=";
cin>>k;
float a[n][m];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
n++;
j=0;
while(j<m)
{
for(i=n-1;i>k;i--)
a[i][j]=a[i-1][j];
if(i==k)
{
i=0;
j++;
}
}
for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
S=S+a[i][j];
a[k][j]=(S-a[k+1][j])/(n-1);
S=0;
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<"\n";
}
return 0;
}
Explicație:
C++; Da si tu un mulumesc
Alte întrebări interesante
Limba română,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă