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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Цифровое значение буков http://www.cyberforum.ru/cpp-beginners/thread314139.html
Где можно посмотреть цифровое значение буков??
C++ возвращаемый тип "main" должен быть "int", а не код: // формирование списка фамилия, имя struct FIO { char *familiya; char *imya; } void main() { http://www.cyberforum.ru/cpp-beginners/thread314131.html
C++ libcurl << Есть подробное описание ?
Подскажите есть подробное описание как работать с данной библиотекой? Может кто в книге какой видел..? Или есть книга по данной библиотеке?
C++ Требуется написать код программы для расчета внутренних значений массива, если известны граничные значения массива.
Подскажите, почему получаю не то что нужно. Требуется написать код программы для расчета внутренних значений массива, если известны граничные значения массива. Вот код: #include <iostream> using namespace std; int main () { int i, j, n1, m1; float d1, d2, next;
C++ Преобразование типов http://www.cyberforum.ru/cpp-beginners/thread314084.html
Подскажите пожалуйста. Есть класс для работы со строками class String // Объявление строкового класса { private: char* S; // Строка size_t len; // Длина строки public: String(); // Конструктор по умолчанию String(const char* s); // Перегруженный конструктор String(const...
C++ скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что? скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что? //анализируем все клетки доски for(int i = 0; i < 8; i++) for(int j = 0; j < 8; j++) moves = b.TestSquare(i,j); подробнее

Показать сообщение отдельно
nikozavr
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 281
06.06.2011, 14:04     Метод простых итераций для решения СЛАУ
Здравствуйте. Попытался сделать программу для решения СЛАУ методом простых итераций. Не работает. Вернее работает неправильно. Помогите найти и исправить ошибки. Пожалуйста.
Первая проблема - не вводится столбец свободных членов. Не пойму почему. Да и в алгоритме где то напутал.

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

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