Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 행렬이 특이 행렬인지 확인하는 프로그램

<시간/>

행렬이 mat[row][column]으로 주어졌을 때 주어진 행렬이 특이 행렬인지 아닌지를 함수를 통해 확인하고 그 결과를 출력하는 것이 우리의 임무입니다.

특이 행렬은 행렬식이 0인 행렬이며 행렬식이 0이 아니면 행렬이 비특이 행렬입니다.

따라서 행렬이 특이 행렬인지 비특이 행렬인지 확인하려면 먼저 행렬식을 계산해야 합니다. 행렬의 행렬식은 다음과 같이 계산할 수 있습니다. -

$$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)

예시

입력-:mat[3][3]={ 4, 10, 1 }, { 0, 2, 3 }, { 1, 4, -3 }출력-:행렬이 비특이 입력-:mat[ 3][3]={ 0, 0, 0 }, { 10, 20, 30 }, { 1, 4, -3 }출력-:행렬은 특이성입니다. 첫 번째 행 전체가 0이므로 행렬식은 0일 뿐입니다. 

알고리즘

StartIn function cofactor(int matrix[N][N], int matrix2[N][N], int p, int q, int n){ Step 1-> 선언 및 초기화 i =0, j =0, row, col Step 2-> Loop For row =0 and row  선언 및 초기화 int D =0; 단계 2-> n ==1이면 행렬[0][0] 반환 단계 3-> 행렬2[N][N] 선언, 부호 =1 단계 4-> f =0 및 f  Return DIn main () 단계 1-> 행렬 선언 및 초기화[N][N] 단계 2-> check_singular(matrix, N) 호출이 0이 아닌 값을 반환하면 "Matrix is ​​Singular"를 인쇄합니다. Step 3-> Else Print "Matrix is 비단수 "중지

예시

#include #define N 4 // cofactorsint cofactor(int matrix[N][N], int matrix2[N][N], int p, int q, int n) 찾기 정수 i =0, j =0; int 행, 열; // 행렬의 각 요소에 대한 루프 for (row =0; row  

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

매트릭스가 비특이성