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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать список с последовательным хранением и записать его в бинарный файл http://www.cyberforum.ru/cpp-beginners/thread251514.html
вообщем по условию задачи надо создать список с последовательным хранением и записать его в файл .bin. Данные берутся из текстового файла(имя которого передается как параметр командной строки или есть файла нет создается и заполняется пользователем) и хранятся в виде 1 seans 12.12.1222 12:56 1 1 Эта запись разбивается по полям структуры. Вообщем в чем проблема.Считывается из файла одна...
C++ Функции в с++ Задание: Мой код: #include <iostream> #include <math.h> using namespace std; int Max(int x,int y) { if (x>y) return(x); http://www.cyberforum.ru/cpp-beginners/thread251513.html
Как разобраться с принадлежностью фигурных скобок? C++
Учусь писать программы на Microsoft Visual Studio 2008 Express edition. Иногда бывает трудно понять, к какой открывающей/закрывающей фигурной скобке принадлежит та или иная фигурная скобка. Думаю, любой начинающий программист сталкивался с этой проблемой. Ведь порою трудно бывает разобраться с массой фигурных скобок, особенно если они разположены в конце кода! Есть ли в MVS 2008 Ee фича, при...
C++ Удалить нулевой элемент
Дан массив с большим количеством нулевых элементов. Заменить в нем кажлую группу из нечетного количества подряд идущих нулей на один нуль, а из четного - на два.
C++ Составление функций http://www.cyberforum.ru/cpp-beginners/thread251481.html
Составить блок-схему и разработать программу, которая по заданным вершинам треугольника в прямоугольной декартовой системе координат вычисляет его площадь.
C++ Вектор Помогите,пожалуйста с решением лабораторной!!! Вектор В сформировать из целых случайных чисел в диапазоне . а) найти произведение элементов в диапазоне и сумму положительных элементов. б) удалить минимальный элемент вектора. в) заменить максимальный элемент вектора среднеарифметическим значением последних 15 элементов. г) поменять местами максимальные элементы из первых 10 и последних... подробнее

Показать сообщение отдельно
Напалм
Сообщений: n/a

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

03.03.2011, 13:03. Просмотров 593. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru