Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Напалм
0 / 0 / 0
Регистрация: 20.11.2017
Сообщений: 4
#1

Метод Гаусса

03.03.2011, 13:03. Просмотров 611. Ответов 0
Метки нет (Все метки)

какой-то цикл конит. посмотрите пожалуйста что не так.




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


int main(int argc, char* argv[])
{
int n,i,j,k,p,m;
double a[20][20],b[20],x[20],pr[20],w[20][20],r,c,s;
cout<<"Vvedite razmer:"<<endl;
cin>>n;
cout<<"Vvedite matricu SLAU"<<endl;

for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
{
cin>>a[i][j];
w[i][j]=a[i][j];
}
cout<<endl;
}
cout<<"Vvedite stolbec svobodn elementov"<<endl;
for (i=1;i<=n;i++)
{
cin>>b[i];
cout<<endl;
pr[i]=b[i];
}


//Конец 1 цикла
//Начало 2-ого цикла
for(k=1;k<=n-1;k++){
p=k;//строчка имеет № k
for(m=k+1;m<=n;m++)
if(fabs(a[p][k])<fabs(a[m][k])) p=m;//№ строки в которой к максимальный элемент
for (j=k;j<=n;j++)
{

//Блок № 7( через указатели)-вместо цикла 3
r=a[k][j]; // p-ую строку меняем с к-ой;;
a[k][j]=a[p][j]; // ^^^
a[p][j]=r; // ^^^
r=b[k]; b[k]=b[p]; b[p]=r;//конец элемента модификации
if (a[k][k]==0)
{
cout<<"Sistema ne imeet reshenii ili imeet beskonechno mnogo reshenii"<<endl;

}

// начало прямого хода Гаусса(привед. к треуг. виду))

for(m=k+1;m<=n;m++){//формирование коэфф. С
c=a[m][k]/a[k][k];//проверка на нули
b[m]=b[m]-c*b[k];
for(i=k;i<=n;i++)//вложенный цикл
a[m][i]-=c*a[k][i];// // закрытие 4 и 1 циклов
}
}
if (a[n][n]==0)
{
cout<<"Sistema ne imeet reshenii ili imeet beskonechno mnogo reshenii"<<endl;

}
// конец прямого хода Гаусса
// блок 19(обр. ход.)
x[n]=b[n]/a[n][n];//находим последний
// 6 цикл
for(k=n-1;k>=1;k--)//ф-лы 2.3 методы
s=0;
for(i=k+1;i<=n;i++)
{
s+=a[k][i]*x[i];
x[k]=(b[k]-s)/(a[k][k]);
}
for(i=1;i<=n;i++)
cout<<x[i]<<endl;
for(i=0;i<=n;i++)
{
for (j=1;j<=n;j++)
{

pr[i]=pr[i]-w[i][j]*x[j];
}
}
cout<<"Neviazka="<<endl;
for (i=1;i<=n;i++)
{
cout<<pr[i];
cout<<endl;
}
}

getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2011, 13:03
Ответы с готовыми решениями:

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

метод Гаусса
дана система линейных уравнений, в графическом режиме надо написать программу....

Метод Гаусса
Как реализовать метод Гаусса в моей программе? Вкратце о том, что сделано:...

метод Гаусса
Помогите пожалуйста написать программу на С++ Задана система линейного...

Метод Гаусса
Помогите, пожалуйста, написать программу. Вот условие: Написать программу...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2011, 13:03

Метод Гаусса
Здравствуйте, у меня такая проблема. Мне нужно написать программу, которая...

метод Гаусса
Знаю что тема поднималась много раз но все же, можете продемонстрировать...

Метод Гаусса
Добрый вечер, можете написать программу для решения СЛАУ методом гаусса на Си,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru