вот сама задачка:
Дана матрица A=(aij) размерностью m на n и матрица B=(bij) размерностью m на n. Сформировать матрицу C=(cij) размерностью m на n:
Cij = aij – bij
Найти в матрице C=(cij) строку с максимальным средним арифметическим значением ее элементов.
а вот код который у меня получился:
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int m,n;
float **A, **B, **D, *s, *r, max;
void vvodA(void)
{
int i, j;
for (j=0; j<m; j++)
for (i=0; i<n; i++)
{
cout<<"-Input A["<<j<<"]["<<i<<"]:";
cin>>*(*(A+j)+i);
}
}
void vvodB(void)
{
int i, j;
for (j=0; j<m; j++)
for (i=0; i<n; i++)
{
cout<<"-Input B["<<j<<"]["<<i<<"]:";
cin>>*(*(B+j)+i);
}
}
float form(float **D, float **A, float **B, int m, int n)
{ int i,j;
for(j = 0; j < m; j++)
{
for(i = 0; i < n; i++)
D[j] = A[j] - B[j];
}
return D[j];
}
float maxar(float**, int , int);
void vv(float**,int,int);
void main(void)
{
clrscr();
A=new float*[n];
for(int j=0;j<m;j++)
A[j]=new float[n];
B=new float*[n];
for(j=0;j<m;j++)
B[j]=new float[n];
D=new float*[n];
for(j=0;j<m;j++)
D[j]=new float[n];
cout<<"Input size array A:"<<endl;
cout<<"-Count row M:";
cin>>m;
cout<<"-Cout column N:";
cin>>n;
cout<<endl;
vvodA();
cout<<endl;
vv(A,m,n);
cout<<endl;
cout<<"Input size array B:"<<endl;
cout<<"-Cout row M:"<<m;
cout<<endl;
//cin>>m;
cout<<"-Cout collumn N:"<<n;
cout<<endl;
vvodB();
cout<<endl;
vv(B,m,n);
cout<<endl;
form(D,A,B,m,n);
vv(D,m,n);
max=maxar(D,m,n);
cout<<"Max="<<max<<endl;
cprintf("\n\n Press any key.");
getch();
return;
delete[] A;
delete[] B;
delete[] D;
}
float maxar(float**D, int m, int n)
{ float max;
int i, j;
float p=0.0;
for (j=0; j<m;j++)
{
for (i=0;i<n;i++)
{
p+=*(*(D+j)+i);
}
*(s+j)=p/n;
p=0.0;
if (*(s+j)>max);
{
max=*(s+j);
}
}
return max;
}
void vv(float** M, int m, int n)
{
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
printf("%6.0f", M[j]);
printf("\n");
}
cout<<"Adress array:"<<endl;
for (int j=0;j<m;j++)
{
for (i=0;i<n;i++)
cout<<((M+j)+i)<<" ";
cout<<endl;}
}
Проблема в том, что она считает неправильно, а как исправить не знаю и еще нужно уходить от вот таких записей: D[j] = A[j] - B[j] и писать как-то по другому, этого я тоже не могу понять как делать... помогите пожалуйста)