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ậnmatrices are identical