Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdlib.h"
- #include "stdio.h"
- int main(int, char**)
- {
- system("clear");
- int n = 0;
- printf("Введите размер матриц\n");
- scanf("%i", &n);
- float** a = (float**)malloc(sizeof(void*) * n);
- printf("Введите матрицу A\n");
- for (int i = 0; i < n; i++)
- {
- a[i] = (float*)malloc(sizeof(float) * n);
- for (int j = 0; j < n; j++)
- scanf("%f", &a[i][j]);
- }
- printf("Введите матрицу B\n");
- float* b = (float*)malloc(sizeof(float) * n);
- for (int i = 0; i < n; i++)
- scanf("%f", &b[i]);
- for (int k = 0; k < n; k++) /* Прямой ход Гаусса */
- {
- for (int j = k + 1; j < n; j++)
- {
- const float r = a[j][k] / a[k][k];
- for (int i = k; i < n; i++)
- a[j][i] = a[j][i] - r * a[k][i];
- b[j] = b[j] - r * b[k];
- }
- }
- for (int k = n - 1; k > -1; k--) /* Обратный ход Гаусса */
- {
- float r = 0;
- for (int j = k + 1; j < n; j++)
- r += a[k][j] * b[j];
- b[k] = (b[k] - r) / a[k][k];
- }
- printf("Корни системы:\n");
- for (int i = 0; i < n; i++)
- printf("x[%i]=%f ", i + 1, b[i]);
- return 0;
- }
Add Comment
Please, Sign In to add comment