特定の行列で、ほとんどの要素がゼロである場合、それを疎行列と呼びます。 例 - 3 x3 行列
1 1 0 0 0 2 0 0 0
この行列では、要素のほとんどが 0 であるため、疎行列になります。
行列がスパースかどうかを確認します。
#行列内のゼロが (行数 * 列数)/2 より大きいと仮定します。
すると、この行列は疎行列ですが、それ以外の場合は疎行列ではありません。
次は、指定された行列がスパースかどうかを確認するプログラムです。
デモンストレーション
#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 中国語 Web サイトの他の関連記事を参照してください。