C# program to check if two matrices are identical

CsharpServer Side Programming

To check whether the matrices are identical or not, you need to first check whether the matrixes can be compared or not, since for comparison at least the dimensions of the two matrices should be the same.

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

Now, under else condition check for whether the metrics are identical or not. We have also set a flag here −

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!");
}

Example

Let us see the complete code to check whether the two matrices are identical.

Live Demo

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!");
         }
      }
   }
}

Output

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!
raja
Published on 24-Jul-2018 11:33:43
Advertisements