Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- int main(void)
- {
- double A[4][4] = {
- { 3.8, 14.2, 6.3, -15.5 },
- { 8.3, -6.6, 5.8, 12.2 },
- { 6.4, -8.5, -4.3, 8.8 },
- { 17.1, -8.3, 14.4, -7.2 } };
- double B[4] = { 2.8, -4.7, 7.7, 13.5 };
- double X[4];
- double c;
- int s, i, j;
- int n = 4;
- double detA;
- for (s = 0; s < n - 1; s++)
- {
- for (i = s + 1; i < n; i++)
- {
- c = A[i][s] / A[s][s];
- B[i] = B[i] - c * B[s];
- for (j = s + 1; j < n; j++)
- {
- A[i][j] = A[i][j] - c * A[s][j];
- }
- }
- }
- X[n - 1] = B[n - 1] / A[n - 1][n - 1];
- for (i = n - 2; i >= 0; i--)
- {
- c = B[i];
- for (j = i + 1; j < n; j++)
- {
- c = c - A[i][j] * X[j];
- }
- X[i] = c / A[i][i];
- }
- printf("A:\n");
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- printf("%f\t", A[i][j]);
- }
- printf("\n");
- }
- printf("X:\n");
- for (i = 0; i < n; i++)
- {
- printf("%f\t", X[i]);
- }
- printf("\n");
- detA = 1;
- for (i = 0; i < n; i++)
- {
- detA = detA * A[i][i];
- }
- printf("det(A): %f\n", detA);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement