C程序比较两个矩阵是否相等

用户必须输入两个矩阵的顺序和两个矩阵的元素。然后,比较这两个矩阵。

如果矩阵元素和大小都相等,则显示两个矩阵相等。

如果矩阵的大小相等但元素不相等,则显示矩阵可以比较但不相等。

如果大小和元素不匹配,则显示无法比较矩阵。

程序

以下是比较两个矩阵是否相等的 C 程序-

#include <stdio.h>
#include <conio.h>
main(){
   int A[10][10], B[10][10];
   int i, j, R1, C1, R2, C2, flag =1;
   printf("Enter the order of the matrix A\n");
   scanf("%d %d", &R1, &C1);
   printf("Enter the order of the matrix B\n");
   scanf("%d %d", &R2,&C2);
   printf("Enter the elements of matrix A\n");
   for(i=0; i<R1; i++){
      for(j=0; j<C1; j++){
         scanf("%d",&A[i][j]);
      }
   }
   printf("Enter the elements of matrix B\n");
   for(i=0; i<R2; i++){
      for(j=0; j<C2; j++){
         scanf("%d",&B[i][j]);
      }
   }
   printf("MATRIX A is\n");
   for(i=0; i<R1; i++){
      for(j=0; j<C1; j++){
         printf("%3d",A[i][j]);
      }
      printf("\n");
   }
   printf("MATRIX B is\n");
   for(i=0; i<R2; i++){
      for(j=0; j<C2; j++){
         printf("%3d",B[i][j]);
      }
      printf("\n");
   }
   /* Comparing two matrices for equality */
   if(R1 == R2 && C1 == C2){
      printf("Matrices can be compared\n");
      for(i=0; i<R1; i++){
         for(j=0; j<C2; j++){
            if(A[i][j] != B[i][j]){
               flag = 0;
               break;
            }
         }
      }
   }
   else{
      printf(" Cannot be compared\n");
      exit(1);
   }
   if(flag == 1 )
      printf("Two matrices are equal\n");
   else
   printf("But,two matrices are not equal\n");
}
输出结果

执行上述程序时,会产生以下结果 -

Run 1:
Enter the order of the matrix A
2 2
Enter the order of the matrix B
2 2
Enter the elements of matrix A
1
2
3
4
Enter the elements of matrix B
1
2
3
4
MATRIX A is
   1 2
   3 4
MATRIX B is
   1 2
   3 4
Matrices can be compared
Two matrices are equal

Run 2:
Enter the order of the matrix A
2 2
Enter the order of the matrix B
2 2
Enter the elements of matrix A
1
2
3
4
Enter the elements of matrix B
5
6
7
8
MATRIX A is
   1 2
   3 4
MATRIX B is
   5 6
   7 8
Matrices can be compared
But,two matrices are not equal