多维矩阵加法

时间:2012-11-19 18:02:54

标签: multidimensional-array matrix

对于我的班级,我们必须做一个项目,用户可以在其中分配最多4个矩阵A B C D,然后使用malloc显示它。现在我想转到下一部分,并让用户添加他想要的任何矩阵。这是我的代码,它可以完美地存储和显示矩阵:

#include<stdio.h>
#include <stdlib.h>


void matrix_display(int ****matrix, int row_count, int column_count);


int main (void)
{
int row_size1,col_size1,row_size2,col_size2,flag =1;
int ****A[4];
int i = 0, j = 0;
char a,c;


do
{
printf("\ncmd> ");
c = getchar();


if(c == 'A')
{
scanf("%d %d",&row_size1,&col_size1);
A[0]= malloc(row_size1*sizeof(int*));
for(i=0;i<row_size1;i++)
{
A[0][i]=malloc(col_size1*sizeof(int));
}
for(i=0;i<row_size1;i++)
{
for(j=0;j<col_size1;j++)
    {
scanf("%d",&A[0][i][j]);


    }
}
matrix_display(A[0], row_size1, col_size1);
  }


if(c == 'B')
{
scanf("%d %d",&row_size1,&col_size1);
A[1]= malloc(row_size1*sizeof(int*));
for(i=0;i<row_size1;i++)
{
A[1][i]=malloc(col_size1*sizeof(int));
}
for(i=0;i<row_size1;i++)
{
for(j=0;j<col_size1;j++)
  {
scanf("%d",&A[1][i][j]);


       }
   }
matrix_display(A[1], row_size1, col_size1);
}


if(c == 'C')
{
scanf("%d %d",&row_size1,&col_size1);
A[2]= malloc(row_size1*sizeof(int*));
for(i=0;i<row_size1;i++)
{
A[2][i]=malloc(col_size1*sizeof(int));
}
for(i=0;i<row_size1;i++)
{
for(j=0;j<col_size1;j++)
 {
scanf("%d",&A[2][i][j]);


       }
   }
matrix_display(A[2], row_size1, col_size1);
}


if(c == 'D')
{
scanf("%d %d",&row_size1,&col_size1);
A[3]= malloc(row_size1*sizeof(int*));
for(i=0;i<row_size1;i++)
{
A[3][i]=malloc(col_size1*sizeof(int));
}
for(i=0;i<row_size1;i++)
{
for(j=0;j<col_size1;j++)
 {
scanf("%d",&A[3][i][j]);


       }
   }
matrix_display(A[3], row_size1, col_size1);
 }


 }
while(flag == 1);
 }


void matrix_display(int ****A, int row_size1, int col_size1) 
{
int i,j;
printf("The required matrix is\n");
for(i=0;i<row_size1;i++)
{
for(j=0;j<col_size1;j++)
  printf("%d ",A[i][j]);
  printf("\n");
}
for(i=0;i<row_size1;i++)
{
  free(A[i]);
}
free(A);
}

现在添加部分我添加了这个: 这就是我想要它运行的方式: CMD&GT; + A D. (显示矩阵A和D的添加)

我不知道如何做到这一点任何建议将不胜感激

我知道他们更容易做到这一点而且 * *我使用过但不会使用但是这次请例外

0 个答案:

没有答案