Ma trận thưa: phần lớn phần tử là 0. Điều kiện: số lượng 0 > (hàng * cột) / 2.
Ví dụ ma trận 3x3
1 1 0 0 0 2 0 0 0
Có 6 số 0 / 9 phần tử > 4.5 → là ma trận thưa.
Chương trình kiểm tra
#include <stdio.h>
#include <stdlib.h>
int main() {
int a[10][10], row, col, i, j, count = 0;
printf("Nhap so hang: "); scanf("%d", &row);
printf("Nhap so cot: "); scanf("%d", &col);
printf("Nhap ma tran:\n");
for (i=0; i (row * col) / 2)
printf("La ma tran thua (sparse matrix)\n");
else
printf("Khong phai ma tran thua\n");
return 0;
}
Kết quả
Run 1: 3x2, [[1,0],[2,0],[2,0]] -> 3 zero, 3*2/2=3 -> Khong phai (can >3) Run 2: 3x2, [[1,0],[0,0],[0,0]] -> 5 zero > 3 -> La ma tran thua