// soustava.cpp #include "stdafx.h" #include #include using namespace std; const int R = 3; const int S = 3; double a[R][S] = { { 3, 1, 0 }, { 1, 0, 2 }, { 1, 1, 1 } }; double b[R] = { 11, 5, 6 }; string jmena[S] = { "x", "y", "z" }; void print () { for (int i = 0; i < R; i++) { for (int j = 0; j < S; j++) { if (a[i][j] >= 0 && j > 0) cout << "+"; cout << a[i][j] << "*" << jmena[j]; } cout << " = " << b[i] << endl; } cout << endl; } void uprav (int r, int s) { double q = a[r][s]; for (int j = 0; j < S; j++) { a[r][j] = a[r][j] / q; } b[r] = b[r] / q; // print (); for (int i = 0; i < R; i++) { if (i != r) { double p = a[i][s]; for (int j = 0; j < S; j++) { a[i][j] = a[i][j] - p*a[r][j]; } b[i] = b[i] - p*b[r]; } } } double v[S] = { 10, 5, 15 }; int main() { for (int i = 0; i < R; i++) { double s = 0; for (int j = 0; j < S; j++) s = s + a[i][j] * v[j]; b[i] = s; } print (); for (int k = 0; k < R; k++) { uprav (k, k); print (); } system ("pause"); return 0; }