Вычисление определителя матрицы 4х4 - C (СИ)
Формулировка задачи:
#include <stdio.h> int main() { int B[3][3],i,j,det; printf("MATRIX 3x3:\n"); for (i=0;i<3;i++) for (j=0;j<3;+j++) scanf("%d",&B[i][j]); det=(B[0][0]*(B[1][1]*B[2][2]-B[1][2]*B[2][1])) -(B[0][1]*(B[1][0]*B[2][2]-B[1][2]*B[2][0])) +(B[0][2]*(B[1][0]*B[2][1]-B[1][1]*B[2][0])); printf("%d",det); }
Решение задачи: «Вычисление определителя матрицы 4х4»
textual
Листинг программы
#include <stdio.h> int main() { int B[4][4],i,j,det1,det2,det3,det4,fin; printf("MATRIX 4x4:\n"); for (i=0;i<4;i++){ for (j=0;j<4;+j++){ scanf("%d",&B[i][j]); } } printf("MATRIX 4X4:\n"); for (i=0;i<4;i++){ for (j=0;j<4;+j++){ printf("%d ",B[i][j]); } printf("\n"); }; printf("PO PERVOMU:\n"); det1 = (B[1][1]*((B[2][2]*B[3][3])-(B[2][3]*B[3][2])))- (B[1][2]*((B[2][1]*B[3][3])-(B[2][3]*B[3][1])))+ (B[1][3]*((B[2][1]*B[3][2])-(B[2][2]*B[3][1]))); printf("[%d][%d][%d]\n",B[1][1],B[1][2],B[1][3]); printf("[%d][%d][%d]=[%d]\n",B[2][1],B[2][2],B[2][3],det1); printf("[%d][%d][%d]\n",B[3][1],B[3][2],B[3][3]); printf("PO VTOROMU:\n"); det2 = (B[1][0]*((B[2][2]*B[3][3])-(B[2][3]*B[3][2])))- (B[1][2]*((B[2][0]*B[3][3])-(B[2][3]*B[3][0])))+ (B[1][3]*((B[2][0]*B[3][2])-(B[2][2]*B[3][0]))); printf("[%d][%d][%d]\n",B[1][0],B[1][2],B[1][3]); printf("[%d][%d][%d]=[%d]\n",B[2][0],B[2][2],B[2][3],det2); printf("[%d][%d][%d]\n",B[3][0],B[3][2],B[3][3]); printf("PO TRIETEMU:\n"); det3 = (B[1][0]*((B[2][1]*B[3][3])-(B[2][3]*B[3][1])))- (B[1][1]*((B[2][0]*B[3][3])-(B[2][3]*B[3][0])))+ (B[1][3]*((B[2][0]*B[3][1])-(B[2][1]*B[3][0]))); printf("[%d][%d][%d]\n",B[1][0],B[1][1],B[1][3]); printf("[%d][%d][%d]=[%d]\n",B[2][0],B[2][1],B[2][3],det3); printf("[%d][%d][%d]\n",B[3][0],B[3][1],B[3][3]); printf("PO CHETVERTOMU:\n"); det4 = (B[1][0]*((B[2][1]*B[3][2])-(B[2][2]*B[3][1])))- (B[1][1]*((B[2][0]*B[3][2])-(B[2][2]*B[3][0])))+ (B[1][2]*((B[2][0]*B[3][1])-(B[2][1]*B[3][0]))); printf("[%d][%d][%d]\n",B[1][0],B[1][1],B[1][2]); printf("[%d][%d][%d]=[%d]\n",B[2][0],B[2][1],B[2][2],det4); printf("[%d][%d][%d]\n",B[3][0],B[3][1],B[3][2]); fin=((B[0][0]*det1)-(B[0][1]*det2)+(B[0][2]*det3)-(B[0][3]*det4)); printf("FINALNII DETERMINANT:\n"); printf("DET=(%d*(%d))-(%d*(%d))+(%d*(%d))-(%d*(%d))=%d",B[0][0],det1,B[0][1],det2,B[0][2],det3,B[0][3],det4,fin);
Объяснение кода листинга программы
- Ввод матрицы 4х4 с помощью функции scanf.
- Вывод матрицы на экран с помощью функции printf.
- Вычисление определителя по формуле Лапласа для первого столбца.
- Вычисление определителя по формуле Лапласа для второго столбца.
- Вычисление определителя по формуле Лапласа для третьего столбца.
- Вычисление определителя по формуле Лапласа для четвертого столбца.
- Вычисление финального определителя как произведения произведения соответствующих элементов строки и столбца матрицы.
- Вывод финального определителя на экран с помощью функции printf.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д