矩阵累加问题。代码过不去,求解!!!!
#include <stdio.h>#include <stdlib.h>
int main()
{
int **p,**q;
int i,j,k,m1,m2,n,a[10],b[10],t,s,c[20][20]= {0};
scanf("%d",&n);
for(i=0; i<n; i++)
{
scanf("%d%d",&a[i],&b[i]);
p = (int **)malloc(a[i] * sizeof(int *));
{
if(p=NULL)
printf("Not Enough Memory!\n");
}
for(t = 0; t < a[i]; t++)
{
p[t] = (int *)malloc(b[t]* sizeof(int));
if(p[t]=NULL)
printf("Not Enough Memory!\n");
}
for(k=0; k<a[i]; k++)
{
for(j=0; j<b[i]; j++)
{
scanf("%d",&p[k][j]);
c[k][j]+=p[k][j];
}
}
for(s=0; s<a[i]; s++)
free(p[s]);
free(p);
}
}
输入样例:
2 <---待累加的矩阵个数
2 2 <---第1个矩阵的行数和列数
3 4
5 6
2 2 <---第2个矩阵的行数和列数
1 2
4 5
输出样例:
4 6
9 11
编程计算k个整型矩阵的累加,并输出结果。若给定的矩阵不能相加,则直接终止程序并输出"Matrix Can't Add!"。若计算机内存不足以计算给定矩阵的累加,则直接终止程序并输出"Not Enough Memory!"。