Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình kiểm tra xem hai ma trận đã cho có giống nhau trong C ++ hay không

Cho hai ma trận M1 [r] [c] và M2 [r] [c] với ‘r’ số hàng và ‘c’ số cột, chúng ta phải kiểm tra xem cả hai ma trận đã cho có giống nhau hay không. Nếu chúng giống nhau thì in “Các ma trận giống hệt nhau” còn lại in “Các ma trận không giống nhau”

Ma trận giống hệt nhau

Hai ma trận M1 và M2 được gọi là giống hệt nhau khi -

  • Số hàng và số cột của cả hai ma trận là như nhau.
  • Các giá trị của M1 [i] [j] bằng M2 [i] [j].

Giống như trong hình bên dưới, cả hai ma trận m1 và m2 3x3 giống hệt nhau -

$$ M1 [3] [3] =\ begin {bmatrix} 1 &2 &3 \\ 4 &5 &6 \\ 7 &8 &9 \\ \ end {bmatrix} \:\:\:\:M2 [3] [3] =\ begin {bmatrix} 1 &2 &3 \\ 4 &5 &6 \\ 7 &8 &9 \\ \ end {bmatrix} $$

Ví dụ

Input: a[n][n] = { {2, 2, 2, 2},
   {2, 2, 2, 2},
   {3,3, 3, 3},
   {3,3, 3, 3}};
   b[n][n]= { {2, 2, 2, 2},
      {2, 2, 2, 2},
      {3, 3, 3, 3},
      {3, 3, 3, 3}};
Output: matrices are identical
Input: a[n][n] = { {2, 2, 2, 2},
   {2, 2, 1, 2},
   {3,3, 3, 3},
   {3,3, 3, 3}};
   b[n][n]= { {2, 2, 2, 2},
      {2, 2, 5, 2},
      {3, 3, 3, 3},
      {3, 3, 3, 3}};
Output: matrices are not identical

Phương pháp tiếp cận

Lặp lại cả hai ma trận a [i] [j] và b [i] [j] và kiểm tra a [i] [j] ==b [i] [j] nếu đúng với tất cả thì in ra chúng giống hệt nhau. không định nghĩa.

Thuật toán

Start
Step 1 -> define macro as #define n 4
Step 2 -> Declare function to check matrix is same or not
   int check(int a[][n], int b[][n])
      declare int i, j
      Loop For i = 0 and i < n and i++
         Loop For j = 0 and j < n and j++
            IF (a[i][j] != b[i][j])
               return 0
            End
      End
   End
   return 1
Step 3 -> In main()
   Declare variable asint a[n][n] = { {2, 2, 2, 2},
      {2, 2, 2, 2},
      {3, 3, 3, 3},
      {3, 3, 3, 3}}
   Declare another variable as int b[n][n] = { {2, 2, 2, 2},
      {2, 2, 2, 2},
      {3, 3, 3, 3},
      {3, 3, 3, 3}}
   IF (check(a, b))
      Print matrices are identical
   Else
      Print matrices are not identical
Stop

Ví dụ

#include <bits/stdc++.h>
#define n 4
using namespace std;
// check matrix is same or not
int check(int a[][n], int b[][n]){
   int i, j;
   for (i = 0; i < n; i++)
      for (j = 0; j < n; j++)
         if (a[i][j] != b[i][j])
      return 0;
   return 1;
}
int main(){
   int a[n][n] = { {2, 2, 2, 2},
      {2, 2, 2, 2},
      {3, 3, 3, 3},
      {3, 3, 3, 3}};
   int b[n][n] = { {2, 2, 2, 2},
      {2, 2, 2, 2},
      {3, 3, 3, 3},
      {3, 3, 3, 3}};
   if (check(a, b))
      cout << "matrices are identical";
   else
      cout << "matrices are not identical";
   return 0;
}

Đầu ra

Các ma trận
matrices are identical