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

Метод Гаусса - C++

03.03.2011, 13:03. Просмотров 607. Ответов 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;
}
http://www.cyberforum.ru/cpp-beginners/thread1242580.html
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
Привет! Вот еще темы с решениями:

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

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

Метод Гаусса в С++
Подскажите please, как запустить эту программу, через C++??? Решение системы...

метод гаусса
Помогите,пожалуйста Преподаватель попросил расписать программу по блокам ...


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

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

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