Не важно откуда ты, но язык не указан, так что Си, сэр!
#include
#include
#include
#include
#define THREE 3
double determinant(double [][THREE]);
void replacement(double [][THREE], double);
void show(double [][THREE]);
int main () {
double matrix[THREE][THREE], det;
size_t n, m;
setlocale(LC_CTYPE, "Russian_Russia.1251");
for (n = 0; n < THREE; n++)
for (m = 0; m < THREE; m++) {
printf("matrix[%u][%u] -> ", n, m);
scanf_s("%Lf", &matrix[n][m]);
}
system("cls");
show(matrix);
det = determinant(matrix);
printf("\tОпределитель = %.3Lf\n\n", det);
if (det > 0) {
replacement(matrix, det);
show(matrix);
}
_getch();
return 0;
}
void show(double _matrix[][THREE]) {
size_t n, m;
for (n = 0; n < THREE; n++, printf("\n\n"))
for (m = 0; m < THREE; m++)
printf(".3Lf", _matrix[n][m]);
}
void replacement(double _matrix[][THREE], double _det) {
size_t n;
for (n = 0; n < THREE; n++) _matrix[n][n] = _det;
}
double determinant(double _matrix[][THREE]) {
return _matrix[0][0] * _matrix[1][1] * _matrix[2][2] +
_matrix[0][1] * _matrix[1][2] * _matrix[2][0] +
_matrix[1][0] * _matrix[2][1] * _matrix[0][2] -
_matrix[0][2] * _matrix[1][1] * _matrix[2][0] -
_matrix[0][1] * _matrix[1][0] * _matrix[2][2] -
_matrix[1][2] * _matrix[2][1] * _matrix[0][0];
}