烦死了~~!
我二维数组作函数的参数不大会用,请高人指点啊!谢谢,给看看下边的程序二维数组作函数是什么错啊!谢谢!
#include<stdio.h>
void trsmat(int A[][],int m,int n,int B[][],int m,int n)
{int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
B[j][i]=A[i][j];
}
void addmat(int C[][],int m,int n,int A[][],int m,int n,int B[][],int m,int n)
{ int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
C[j][i]=A[i][j]+B[i][j];
}
void mutmat(int C[][],int m,int l,int A[][],int m,int n,int B[][],int n,int l)
{int i;
int j;
int k;
for(i=0;i<m;i++)
for(j=0;j<l;j++)
{C[i][j]=0;
for(k=0;k<n;k++)
C[i][j]=C[i][j]+A[i][j]*B[k][j];
}
}
main()
{int a1[1][5];
int a2[1][5];
int b1[1][5];
int b2[1][5];
intA[1][5]={{0},{0},{0},{0},{0}};
/*int ta1[5][1];
int ta2[5][1];
int tb1[5][1];
int tb1[5][1];*/
int tA[5][1];
int C[1][1];
float a1,a2,b1,b2;
a1=-1;
a2=-1;
b1=1;
b2=1;
int i;
int j;
printf("给 A1数组赋值\n");
for(i=0;i<1;i++)
for(j=0;j<5;j++)
scanf("%d",&A1[i][j]);
printf("给 A2数组赋值\n");
for(i=0;i<1;i++)
for(j=0;j<5;j++)
scanf("%d",&A2[i][j]);
printf("给 B1数组赋值\n");
for(i=0;i<1;i++)
for(j=0;j<5;j++)
scanf("%d",&B1[i][j]);
printf("给 B1数组赋值\n");
for(i=0;i<1;i++)
for(j=0;j<5;j++)
scanf("%d",&B2[i][j]);
trsmat(tA,5,1,A,1,5);
while(a1<0||a2<0||b1>0||b2>0)
{mutmat(C[][],1,1,tA,5,1,A1,1,5);
a1= C[1][1];
if(a1<0)
{
printf("进行修正\n");
addmat(tA[][],5,1,tA[][],5,A1[][],5,1);
}
mutmat(C[][],1,1,tA,5,1,A2,1,5);
a2= C[1][1];
if(a2<0)
{ printf("进行修正\n");
addmat(tA[][],5,1,tA[][],5,A2[][],5,1);
}
mutmat(C[][],1,1,tA,5,1,B1,1,5);
b1= C[1][1];
if(b1>0)
{printf("进行修正\n");
addmat(tA[][],5,1,tA[][],5,B1[][],5,1);
}
mutmat(C[][],1,1,tA,5,1,B2,1,5);
b2= C[1][1];
if(b2>0)
{printf("进行修正\n");
addmat(tA[][],5,1,tA[][],5,B2[][],5,1);
}
}
}