Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

두 행렬이 동일한지 확인하는 C# 프로그램


행렬이 동일한지 여부를 확인하려면 비교를 위해 최소한 두 행렬의 차원이 같아야 하므로 행렬을 비교할 수 있는지 여부를 먼저 확인해야 합니다. .

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

이제 else 조건에서 측정항목이 동일한지 여부를 확인합니다. 여기에 플래그도 설정했습니다 −

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("Our matrices are not equal!");
}

예시

두 행렬이 동일한지 확인하기 위해 전체 코드를 살펴보겠습니다.

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("Our matrices are not equal!");
         }
      }
   }
}

출력

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!