// метод Гаусса-Жордана с выбором ведущего элемента по столбцу // a - матрица, b - правый столбец, потом решение void gauss(double *a, double *b, int n) { int i, j, k, mxi; double mx,w; for (i = 0; i < n; i++) { mx = fabs(a[i*n+i]); mxi = i; for (k = i + 1; k < n; k++) if ( fabs(a[k*n+i]) > mx ) { mx = fabs(a[k*n+i]); mxi = k; } // меняем местами строки: for (j = i; j < n; j++) {w=a[i*n+j]; a[i*n+j]=a[mxi*n+j]; a[mxi*n+j]=w;} w=b[i]; b[i]=b[mxi]; b[mxi]=w; // нормализация строки: for (j = i+1; j