Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Решение системы линейных уравнений методом Гаусса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для заданного длинного слова найти в словаре все слова, в которых использованы только буквы, которые присутствуют в заданном слове http://www.cyberforum.ru/cpp-beginners/thread1097966.html
ПОМОГИТЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Для заданного длинного слова найти в словаре все слова, в которых использованы только буквы, которые...
C++ Найти ошибку в коде) Помогите найти ошибку в коде и исправить.Реализовать класс Payment (зарплата). В классе должны быть представлены поля: фамилия-имя-отчество, оклад, дата, процент надбавки, подоходный налог,... http://www.cyberforum.ru/cpp-beginners/thread1097956.html
C++ Создать класс Processor
Определить класс Processor - процессор, содержащий информацию о названии процессора, его частоте, используемой технологии производства и размере внутренней памяти. Определить класс Computer -...
C++ Конструктор копирования и иерархия классов
Задание Создать иерархию классов пресса - газета, журнал и электронное издание. Определить поля: название издания, тираж, подписной индекс, периодичность издания. Определить конструктор копирования,...
C++ Не пойму где ошибка http://www.cyberforum.ru/cpp-beginners/thread1097929.html
Помогите исправить код, ошибок он не выдает, но программа почему то не работает, после вводы данных ничего не происходит, ниже условие и сам код . Задать массив структур каждая из которых содержит...
C++ Надо исправить код ) Реализовать класс Payment (зарплата). В классе должны быть представлены поля: фамилия-имя-отчество, оклад, дата, процент надбавки, подоходный налог, количество отработанных дней в месяце, начисленная... подробнее

Показать сообщение отдельно
Natasha96
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 3

Решение системы линейных уравнений методом Гаусса - C++

16.02.2014, 17:12. Просмотров 248. Ответов 0
Метки (Все метки)

Все компилируется, но после ввода матрицы выбивает ошибку. Помогите исправить

#include <iostream.h>
#include <math.h>
#include <conio.h>


int main()
{
int i, k, m, j, z;
double** a;
double* x;
double* b;
int const n = 5;
a = new double*[n];
x = new double[n];
b = new double[n];

for( i=0; i<n; i++)
a[i] = new double[n];
cout << "Vvedite matricu(a):\n";
for( i=0; i<n; i++)
for( j=0; j<n; j++)
{
cin >> a[i][j];
}
cout << "Vvedite stolbec(b): \n";
for( i=0; i<n; i++)
{
cin >> b[i];
}

for( k=0; k<n-1; k++) // прямой проход // идем слево на право по коэфицентам х
for( m=k+1; m<n; m++) // если на диагонали элемент = 0, то поменяем местами строки
{
if(a[m][m] == 0)
for( j=k; j<n; j++)
{
double r = a[k][j]; //меняем местами a[k][j] и a[p][j]
a[k][j] = a[m][j];
a[m][j] = r;
}
}

double s=a[m][k]/a[0][k];
b[m] = b[m] - b[0] * s;
for( z=0; z < n; z++)
{
a[m][z] = a[m][k] - a[0][k] * s;

}



// ищем решения
for( m=n-1; m >= 0; m--)
{
double sum=0;
// идем по строке спаво налево, считая сумму корень*коэфицент, до текущего корня
for( i=n-1; i > m; i--)
{
sum += x[i] * a[m][i];
}
x[m] = (b[m] - sum)/a[m][m];

}


cout << "\nMatrica(x): ";
for(i = 0; i < n; i++)
cout << x[i] << " ";

double H = 0;
for( i = 0; i < n; i++)
{
double q = 0;
for( j = 0; j < n; j++)
{
q += a[i][j] * x[j];
}
H = fabs(b[i] - q);
cout << "Nevyazka = " << H <<endl;
}

for( i=0; i<0; i++)
delete[] a[i];
delete [] a;
delete [] b;
delete [] x;
a=NULL;
b=NULL;
x=NULL;

getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru