#include
#include
#include
double factor;
int n, i, j, k;
int main()
{
printf(" \n 행렬의 사이즈 n = ");
scanf_s(" %d", &n);
float** a;
a = (float**)malloc(sizeof(float*) * n);
a[0] = (float*)malloc(sizeof(float) * n);
for (i = 1; i < n; i++) {
a[i] = a[i - 1] + n;
}
printf(" 계수행렬 A(i,j)을 입력하시오 \n");
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
printf(" A(%d, %d) : ", i, j);
scanf_s(" %f", &a[i][j]);
}
}
printf("\n 행렬 출력 \n");
for (i = 0; i < n; i++)
{
printf("\n");
for (j = 0; j < n; j++)
{
printf(" %10.f", a[i][j]);
}
}
printf("\n");
printf("\n 행렬 주소 출력 \n");
for (i = 0; i < n; i++)
{
printf("\n");
for (j = 0; j < n; j++)
{
printf(" %d ", &a[i][j]);
}
}
printf("\n");
for (k = 0; k < n - 1; k++)
{
for (i = k + 1; i < n; i++)
{
factor = a[i][k] / a[k][k];
for (j = k + 1; j < n; j++)
{
a[i][j] = a[i][j] - factor * a[k][j];
}
}
}
printf("\n 계산결과 출력 \n");
double sol = 1;
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++) {
if (i == j)
{
printf("%10.2f \n", a[i][j]);
sol = sol * a[i][j];
}
}
}
printf("행렬식의 답은 : %lf", round(sol));
printf("\n ");
free(a[0]);
free(a);
return 0;
}
728x90
반응형
'C, C++' 카테고리의 다른 글
[C]BMP구조체 : #pragma pack(push, 1) 사용하지 않고 정렬하기 (0) | 2020.02.18 |
---|---|
[C]BMP RGB 값 조절 (0) | 2020.01.29 |
2차원 배열 동적할당하기 3 편 (1) | 2020.01.27 |
2차원 배열 동적할당하기 2편 (0) | 2020.01.23 |
2차원 배열 동적 할당하기 1편 (0) | 2020.01.22 |