Метод Гаусса (Реализация на С++)

C++   18 июня 2012  Автор статьи:  

Метод Гаусса — алгоритм вычисления детерминанта.
Программа вычисляет детерминант матрицы, считанной из файла data.txt, лежащего в корневой папке с программой.
Реализация данного алгоритма на С++:

#include
#include
#include
#include #include
#include
#include
#include
using namespace std;
double det = 1;
int main()
{
FILE *f;
f = fopen("data.txt","r");
//определяем переменную EPS
const double epsilon = 1E-9;
//размерность матрицы
int n;
//вводим n
fscanf(f,"%d",&n);
printf("%d\n",n);
//определяем вектор размером nxn
vector > a (n, vector (n));
//заполняем его
for (int i=0;i fabs(a[k][i]))
//если равенство выполняется то k присваиваем j
k = j;
//если равенство выполняется то определитель приравниваем 0 и выходим из программы
if (fabs (a[k][i]) < EPS) { det = 0; break; } //меняем местами a[i] и a[k] swap (a[i], a[k]); //если i не равно k if (i != k) //то меняем знак определителя det = -det; //умножаем det на элемент a[i][i] det *= a[i][i]; //идем по строке от i+1 до конца for (int j=i+1; j epsilon)
//если да, то идем по k от i+1
for (int k=i+1; k

  • Кирилл

    В коде ошибка, вместо EPS нужно писать epsilon, видимо откуда-то недопередрали

Научиться программировать

  • на Delphi

  • на Java

  • на C++