Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2011, 15:21   #1
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию мой метод простых итераций для СЛАУ

Здравствуйте. Попытался сделать программу для решения СЛАУ методом простых итераций. Не работает. Вернее работает неправильно. Помогите найти и исправить ошибки. Пожалуйста.
Первая проблема - не вводится столбец свободных членов. Не пойму почему. Да и в алгоритме где то напутал.

Вот код программы.
Код:
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;

int main(int argc, char *argv[])
{
    
   int i,j,q,N,M,K,count,T,f,;
   int A[20][20];
   int B[20];
    double norma; //norma vektora
    double xn[20]={0};//vektor tekuchey operacii
    double x[20];
    float  eps = 0.0001;
    
cout<<"N=";
cin>>N;
cout<<"M=";
cin>>M;



for(i=0;i<N;i++)
for(j=0;j<M;j++)
       {cout<<"A["<<i<<"]["<<j<<"] = ";// vvod elementov matrici
cin>>A[i][j];
       }
cout<<endl;

for(q=0;q<N;q++)
       {cout<<"B["<<q<<"] = ";// vvod svobodnogo stolbza
       }
cout<<endl;

for(i=0;i<N;i++)// vivod vvedennoy
{ for(j=0;j<M;j++)
cout<<A[i][j]<<" ";
cout<<endl;
       }
cout<<endl; 

for(q=0;q<N;q++)
cout<<B[q]<<" ";
cout<<endl;
cout<<endl;


//deystvia
do{
  norma=0.0;
  for(i=0;i < N;i++)
  {
   xn[i]=-B[i];

   for(j=0;j < M;j++)
   {
    if(i!=j)
     xn[i]+=A[i][j]*x[j];
   }

   xn[i]/=-A[i][i];
  }

  for(i=0;i < N;i++)
  {
   if(fabs(x[i]-xn[i]) > norma)
    norma=fabs(x[i]-xn[i]); 
   x[i]=xn[i];
  }
  
 }
 
 while(norma > eps); 
                                   }
                                    
for(i=0;i<N;i++)// vivod izmenennoy
{ for(j=0;j<M;j++)
cout<<A[i][j]<<" ";
cout<<endl;
       }
 
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод простых итераций bloodargus Общие вопросы C/C++ 4 26.11.2010 23:53
Метод простых итераций bloodargus Общие вопросы C/C++ 0 24.11.2010 19:20
метод простых итераций dimitriy91 Общие вопросы C/C++ 0 25.10.2010 15:49
Pascal. Слау методом простых итераций. Shiza321 Помощь студентам 4 22.03.2010 21:08
Решение СЛАУ (метод простых итераций) XeN0N Помощь студентам 2 15.02.2009 21:33