你能帮帮我吗,我有问题。这是转置矩阵的程序。当行数或列数等于 357 或更大时,程序不起作用(定义 MAX_n 357,定义 MAX_m 357)。小于357时程序正常工作。
#include <stdio.h>
#include <stdlib.h>
#define MAX_m 357
#define MAX_n 357
void main()
{
int a[MAX_m][MAX_n],b[MAX_m][MAX_n];
int r=0,j,i;
printf("\nProgram to transpose matrix\n");
for(i=0;i<MAX_m;i++)
{
for(j=0;j<MAX_n;j++)
{
r=rand();
a[i][j]=r;
}
}
printf("\nMatrix A: ");
for(i=0;i<MAX_m;i++)
{
printf("\n");
for(j=0;j<MAX_n;j++)
{
printf(" ");
printf("%d",a[i][j]);
}
}
for(i=0;i<MAX_m;i++)
{
for(j=0;j<MAX_n;j++)
{
b[i][j]=a[j][i];
}
}
printf("\nResultant Matrix: ");
for(i=0;i<MAX_m;i++)
{
printf("\n");
for(j=0;j<MAX_n;j++)
{
printf(" ");
printf("%d",b[i][j]);
}
}
printf("\n");
return(0);
}