0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 281
1

Метод простых итераций для решения СЛАУ

06.06.2011, 14:04. Показов 8476. Ответов 4
Метки нет (Все метки)

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

Вот код программы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#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;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2011, 14:04
Ответы с готовыми решениями:

Метод простых итераций для решения СЛАУ
Всем добрый вечер! Столкнулся с заданием на тему решения СЛАУ методом простых итераций и Зейделя. ...

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

Метод простых итераций для решения СЛАУ
Здравствуйте. Есть функция, реализующая метод простых итераций: void ProstIterMetode() {int i,j;...

Алгоритм написания для решения СЛАУ методом простых итераций
Прошу помощи в написании программы для решения СЛАУ методом итераций. Нет, я не прошу писать код за...

4
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 281
07.06.2011, 16:41  [ТС] 2
Ну поправьте ошибки.
0
593 / 531 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
07.06.2011, 17:18 3
после каждого ввода поставь cin.ignore();
0
186 / 173 / 18
Регистрация: 22.03.2010
Сообщений: 612
07.06.2011, 17:23 4
дебагер в помощь
0
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 281
09.06.2011, 12:38  [ТС] 5
А по существу?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2011, 12:38
Помогаю со студенческими работами здесь

Метод простых итераций для СЛАУ
Доброго времени суток всем!!! решаю СЛАУ методом простых итераций, проблема вот в чем: не могу...

Метод простых итераций для СЛАУ
Помогите пожалуйста! Нужно реализовать метод простых итераций для решения СЛАУ дана вот такая...

Метод простых итераций для СЛАУ
Здравствуйте! Пытаюсь реализовать метод простых итераций. Все функции, которые работают нормально,...

Метод простых итераций для СЛАУ
Прошу помочь с написанием МПИ для СЛАУ на C. Каким образом выразить из AX=b ур-е X=BX+C, в которое...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru