주어진 행렬에서 대부분의 요소가 0인 경우 이를 희소 행렬이라고 부릅니다. 예를 들어 - 3 x3 행렬
1 1 0 0 0 2 0 0 0
이 행렬에서는 대부분의 요소가 0이므로 희소 행렬입니다.
행렬이 희소한지 확인하세요.
행렬의 0이 (행 수 * 열 수)/2보다 크다고 가정하겠습니다.
그러면 이 행렬은 희소 행렬이고 그렇지 않으면 그렇지 않습니다.
다음은 주어진 행렬이 sparse한지 확인하는 프로그램이다.
Demonstration
#include<stdio.h> #include<stdlib.h> int main(){ int row,col,i,j,a[10][10],count = 0; printf("Enter row</p><p>"); scanf("%d",&row); printf("Enter Column</p><p>"); scanf("%d",&col); printf("Enter Element of Matrix1</p><p>"); for(i = 0; i < row; i++){ for(j = 0; j < col; j++){ scanf("%d",&a[i][j]); } } printf("Elements are:</p><p>"); for(i = 0; i < row; i++){ for(j = 0; j < col; j++){ printf("%d\t",a[i][j]); } printf("</p><p>"); } /*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 </p><p>"); else printf("Matrix is not sparse matrix</p><p>"); }
위 프로그램을 실행하면 다음과 같은 결과가 나온다 -
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
위 내용은 희소 행렬을 위한 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!