C#程序检查两个矩阵是否相同

要检查矩阵是否相同,您需要首先检查是否可以比较矩阵,因为至少两个矩阵的维数应该相同。

if (row1 != row2 && col1 != col2) {
   Console.Write("Matrices can't be compared:\n");
}

现在,在其他情况下,检查指标是否相同。我们还在这里设置了一个标志-

if (row1 != row2 && col1 != col2) {
   Console.Write("Matrices can't be compared:\n");
} else {
   Console.Write("Comparison of Matrices: \n");
   for (i = 0; i < row1; i++) {
      for (j = 0; j < col2; j++) {
         if (arr1[i, j] != arr2[i, j]) {
            flag = 0;
            break;
         }
      }
   }
   if (flag == 1)
      Console.Write("Our matrices are equal!\n\n");
   else
      Console.Write("我们的矩阵不相等!");
}

示例

让我们看完整的代码来检查两个矩阵是否相同。

using System;
namespace Demo {
   public class ApplicationOne {
      public static void Main() {
         int[, ] arr1 = new int[10, 10];
         int[, ] arr2 = new int[10, 10];
         int flag = 1;
         int i, j, row1, col1, row2, col2;
         Console.Write("Rows in the 1st matrix: ");
         row1 = Convert.ToInt32(Console.ReadLine());
         Console.Write("Columns in the 1st matrix: ");
         col1 = Convert.ToInt32(Console.ReadLine());
         Console.Write("Rows in the 2nd matrix: ");
         row2 = Convert.ToInt32(Console.ReadLine());
         Console.Write("Columns in the 2nd matrix: ");
         col2 = Convert.ToInt32(Console.ReadLine());
         Console.Write("Elements in the first matrix:\n");
         for (i = 0; i < row1; i++) {
            for (j = 0; j < col1; j++) {
               Console.Write("element - [{0}],[{1}] : ", i, j);
               arr1[i, j] = Convert.ToInt32(Console.ReadLine());
            }
         }
         Console.Write("Elements in the second matrix:\n");
         for (i = 0; i < row2; i++) {
            for (j = 0; j < col2; j++) {
               Console.Write("element - [{0}],[{1}] : ", i, j);
               arr2[i, j] = Convert.ToInt32(Console.ReadLine());
            }
         }
         Console.Write("Matrix 1:\n");
         for (i = 0; i < row1; i++) {
            for (j = 0; j < col1; j++)
            Console.Write("{0} ", arr1[i, j]);
            Console.Write("\n");
         }
         Console.Write("Matrix 2:\n");
         for (i = 0; i < row2; i++) {
            for (j = 0; j < col2; j++)
            Console.Write("{0} ", arr2[i, j]);
            Console.Write("\n");
         }
         if (row1 != row2 &amp;&amp; col1 != col2) {
            Console.Write("Matrices can't be compared:\n");
         } else {
            Console.Write("Comparison of Matrices: \n");
         for (i = 0; i < row1; i++) {
            for (j = 0; j < col2; j++) {
               if (arr1[i, j] != arr2[i, j]) {
                  flag = 0;
                  break;
               }
            }
         }
         if (flag == 1)
            Console.Write("Our matrices are equal!\n\n");
         else
            Console.Write("我们的矩阵不相等!");
         }
      }
   }
}

输出结果

Rows in the 1st matrix: Columns in the 1st matrix: Rows in the 2nd matrix: Columns in the 2nd matrix: Elements in the first matrix:
Elements in the second matrix:
Matrix 1:
Matrix 2:
Comparison of Matrices:  
Our matrices are equal!