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

C Chương trình cho ma trận thưa thớt

Trong một ma trận đã cho, khi hầu hết các phần tử bằng 0 thì chúng ta gọi nó là ma trận thưa. Ví dụ - ma trận 3 x3

1 1 0
0 0 2
0 0 0

Trong ma trận này, hầu hết các phần tử đều bằng 0, vì vậy nó là ma trận thưa thớt.

Vấn đề

Kiểm tra xem ma trận có phải là ma trận thưa thớt hay không.

Giải pháp

  • Giả sử số ZERO trong ma trận lớn hơn (hàng * cột) / 2.

  • Sau đó, ma trận là một ma trận thưa thớt, ngược lại thì không.

Chương trình

Sau đây là chương trình để kiểm tra xem ma trận đã cho có phải là ma trận thưa thớt hay không -

#include<stdio.h>
#include<stdlib.h>
int main(){
   int row,col,i,j,a[10][10],count = 0;
   printf("Enter row\n");
   scanf("%d",&row);
   printf("Enter Column\n");
   scanf("%d",&col);
   printf("Enter Element of Matrix1\n");
   for(i = 0; i < row; i++){
      for(j = 0; j < col; j++){
         scanf("%d",&a[i][j]);
      }
   }
   printf("Elements are:\n");
   for(i = 0; i < row; i++){
      for(j = 0; j < col; j++){
         printf("%d\t",a[i][j]);
      }
      printf("\n");
   }
   /*checking sparse of matrix*/
   for(i = 0; i < row; i++){
      for(j = 0; j < col; j++){
         if(a[i][j] == 0)
            count++;
      }
   }
   if(count > ((row * col)/2))
      printf("Matrix is a sparse matrix \n");
   else
      printf("Matrix is not sparse matrix\n");
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Run 1:
Enter row
3
Enter Column
2
Enter Element of Matrix1
1 0 2 0 2 0
Elements are:
1 0
2 0
2 0
Matrix is not sparse matrix
Run 2:
Enter row
3
Enter Column
2
Enter Element of Matrix1
1 0 0 0 0 0
Elements are:
1 0
0 0
0 0
Matrix is a sparse matrix