Cho một ma trận dưới dạng mat [row] [column], nhiệm vụ của chúng ta là kiểm tra xem ma trận đã cho có phải là số ít hay không thông qua một hàm và hiển thị kết quả.
Ma trận số ít là ma trận có định thức bằng 0 và nếu định thức không bằng 0 thì ma trận không phải là số ít.
Vì vậy, để tìm xem ma trận là số ít hay không số ít, trước tiên chúng ta cần tính định thức. Định thức của ma trận có thể được tính bằng -
$$ M1 [3] [3] \:=\:\ begin {bmatrix} a &b &c \\ d &e &f \\ g &h &i \ end {bmatrix} $$
| m1 | =a (e * i - f * h) - b (d * i - f * g) + c (d * h - e * g)
Ví dụ
Input-:mat [3] [3] ={4, 10, 1}, {0, 2, 3}, {1, 4, -3} Output-:ma trận phi singularInput-:mat [ 3] [3] ={0, 0, 0}, {10, 20, 30}, {1, 4, -3} Output-:ma trận là số ít Vì toàn bộ hàng đầu tiên là 0 nên định thức sẽ chỉ bằng 0Thuật toán
Cofactor hàm StartIn (int matrix [N] [N], int matrix2 [N] [N], int p, int q, int n) {Bước 1-> Khai báo và khởi tạo i =0, j =0, row, col Bước 2-> Loop Đối với row =0 và rowKhai báo và khởi tạo int D =0; Bước 2-> Nếu n ==1 thì Trả về ma trận [0] [0] Bước 3-> Khai báo ma trận2 [N] [N], sign =1 Bước 4-> Vòng lặp Cho f =0 và f Trả về DIn chính () Bước 1-> Khai báo và khởi tạo ma trận [N] [N] Bước 2-> Nếu lệnh gọi check_singular (ma trận, N) trả về giá trị khác 0 thì In "Ma trận là số ít" Bước 3-> In khác "Ma trận là không phải số ít "Dừng Ví dụ
#include#define N 4 // để tìm cofactorsint cofactorsint (int matrix [N] [N], int matrix2 [N] [N], int p, int q, int n) { int i =0, j =0; int hàng, col; // Vòng lặp cho từng phần tử của ma trận for (row =0; row Đầu ra
Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
Ma trận không phải là Số ít