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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.69
Онечка
Сообщений: n/a
#1

метод Зейделя. c++ - C++

14.01.2013, 09:32. Просмотров 4614. Ответов 1
Метки нет (Все метки)

В цикле do while есть ошибка, из-за неё программа не правильно считает Xold и Xnew. Помогите, пожалуйста, найти ошибку...
Код
#pragma once

#include <iostream>//Подключение библиотеки стандартного ввода-вывода;
#include<conio.h>//Подключение библиотеки консольного ввода-вывода;
#include<iostream>//Подключение библиотеки потокового ввода-вывода;
#include<math.h>//Подключение библиотеки математических функций;

using namespace std;
void main()
{
	int i,j,m,n;
	double a[10][10],c[10][10],b[10],d[10],Xold[3], Xnew[3], eps, max;

	eps=0.00001;

	
 cout<<endl<<"Vvedite matricu A postrochno"<<endl;
  for (i=0; i<=2; i++)     
	  for (j=0; j<=2; j++)
	  {
	    cin>>a[i][j];
		  while ((i==j)&&(a[i][i]==0.0))
     	{		
	    	cout<<"Error! Enter a[i][i] again!";
		    cin>>a[i][j];
	    }
	  }

        
 
cout<<endl<<"Vasha matrica"<<endl;
   for (i=0; i<=2; i++) 
      { cout << "\n stroka" << (i+1) << ":";
       for (j=0; j<=2; j++)
       cout<<"\t"<<a[i][j];
      }

  
   
    cout<<endl<<"Vvedite matricu B postrochno"<<endl;
   for (int i=0; i<3; i++)
	   cin>>b[i];

   cout<<endl<<"Vash stolbec"<<endl;
   for (i=0; i<3; i++) 
             cout<<"\t"<<b[i]<<endl;


  
   
   for(i=0;i<=2;i++)
   {
	   for(j=0;j<=2;j++)
	   {
		   c[i][j]=-a[i][j]/a[i][i];
		   if(i==j)c[i][j]=0;
		  cout<<"c="<<c[i][j]<<endl;
		  
	   }
	      
	    d[i]=b[i]/a[i][i];
        cout<<"d="<<d[i]<<endl;
	   
   }

   Xnew[0]=1.1;   
   for(i=1;i<3;i++)Xnew[i]=0.9;
   
do 
{
  for (i=0;i<3;i++)Xold[i]=Xnew[i];
  Xnew[0]=0.0;
  for (j=0;j<3;j++)Xnew[0]+=c[0][j]*Xold[j];
  max=fabs(Xnew[0]-Xold[0]);
  for (i=1;i<3;i++)
  {
      Xnew[i]=0.0;
	  for (j=0;j<=(i-1);j++)Xnew[i]+=c[i][j]*Xnew[j];
      for (j=i;j<3;j++)Xnew[i]+=c[i][j]*Xold[j];
	  if( max<fabs(Xnew[i]-Xold[i]))
		  max=fabs(Xnew[i]-Xold[i]);
  } 
  

}
while(max>eps);

for (i=0;i<3;i++)cout<<"Xold="<<Xold[i]<<endl;
cout<<"max="<<max<<endl;

getch ();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2013, 09:32     метод Зейделя. c++
Посмотрите здесь:

Метод Зейделя - C++
решить систему нелинейных уравнений Методом зейделя:

Метод Зейделя - C++
ошибка найдена. тема закрыта

Метод Зейделя - C++
Ребята, каждый из вас уже делал лабы по матрицам. Если у кого-то есть готовая лаба по методу Зейделя, прошу, напишите ее тут и желательно с...

Метод Зейделя в С++ - C++
всем доброго времени суток... у меня такая проблема, есть программа по решению систем линейных уравнений методом Зейделя написали мне...

Метод Зейделя: - C++
Здравствуйте, у меня получается на данный момент X1 := -8.32587e+307 X2 := -inf X3 := inf я скопировал сам метод зейделя с...

Метод Зейделя - C++
Я написал прогу по методу Зейделя, так вот при матрице 3х3 выдает после 7 итерации правильный ответ) а при матрице 4х4 уже на второй...

метод Зейделя - C++
Ребят помогите пожалуйста, а то зачот простаивает)Нужна программка реализующая метод Зейделя(или Зейзеля препод так написал что...

СЛАУ метод Зейделя - C++
Решить СЛАР методом Зейделя вида АХ=В с точностью до 0,0001. Пример на рисунке ниже что не могу не как реализовать нормально. Точнее...

Метод Зейделя-Гаусса С++ - C++
Для написания программы, решающей систему линейных уравнения методом итерации или Зейделя, использовалась среда разработки Visual Studio...

Метод Гаусса-Зейделя - C++
Здравствуйте. Задание дали нормальное такое) Вообще не понимаю что хотят. Объясните пожалуйста языком для домохозяек или же есть у кого...

Метод Зейделя, работает неправильно - C++
сообственно проблема в том что считает немного неточно. и какую функцию можно использовать для закрытия программы?(exit не работает) ...

Ошибка в коде.Метод зейделя - C++
Соственно проблема в том, что она работает где-то до окончания do вылетает с ошибкой, если кто-то видит где ошибка напишите пожалуйста ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
14.01.2013, 10:30     метод Зейделя. c++
  #2

Не по теме:

забавно, что из 90 строк программы прокомментировано лишь 4, и эти 4 самые очевидные!

Yandex
Объявления
14.01.2013, 10:30     метод Зейделя. c++
Ответ Создать тему
Опции темы

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