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

Метод Зейделя - C++

Восстановить пароль Регистрация
 
francer
Сообщений: n/a
27.12.2012, 12:51     Метод Зейделя #1
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
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
int main(){
 
freopen("inputK.txt", "rt", stdin);
freopen("outputK.txt", "wt", stdout);
    double last=0,s1,s2,eps,err, t=0;
    double *x=new double [6];
    double *p=new double [6];
    double *b=new double [6];
    double **a=new double *[6];
    cin>>eps;
    for(int i=0;i<6;i++)
        a[i]=new double[6];
    for(int i=0;i<6;i++){
        for(int j=0;j<6;j++)
            cin>>a[i][j];
        cin>>b[i];
    }
    cout<<"array of ~"<<endl;
    for(int i=0;i<6;i++){
        p[i]=b[i];
        for (int j=i+1;j<6;j++){
            t+=-a[i][j];
        }
 
        p[i]+=t;
 
        p[i]/=a[i][i];
        cout<<"p["<<i+1<<"]="<<p[i]<<endl;
    }
 
    cout<<endl;
    for(int i=0;i<6;i++) x[i]=0;
    int iter=0;
 
    do{
        err=0;
        for(int i=0;i<6;i++){
            s1=0;
            s2=0;
            for(int j=0;j<i;j++)
                s1+=a[i][j]*x[j];
            for(int j=i;j<6;j++)
                s2+=a[i][j]*x[j];
            last=x[i];
            x[i]-=(1/a[i][i])*(s1+s2-b[i]);
            if (fabs(last-x[i])>err) err=fabs(last-x[i]);
        }
        iter++;
    }
    while(err>=eps);
    cout<<"Number of iteration "<<iter<<endl;
    for(int i=0;i<6;i++)
        cout<<"x["<<i+1<<"]="<<x[i]<<endl;
    for(int i=0;i<6;i++)
        delete [] a[i];
    delete [] a;
    delete [] b;
    delete [] x;
    return 0;
}
помогите найти ошибку,выдает неправильный ответ
input
0.0001

-6.187 -2.132 2.530 0.042 -1.178 0.305 3.130
-0.316 -4.686 0.570 1.240 0.342 -2.218 0.368
-0.374 1.916 7.595 2.054 -0.587 2.664 2.551
-0.208 0.088 -0.791 -2.370 -0.788 -0.495 -0.363
2.483 -2.244 0.424 -2.706 10.079 -2.222 -2.579
-3.007 0.034 -0.005 3.088 1.907 8.041 -3.068
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2012, 12:51     Метод Зейделя
Посмотрите здесь:

C++ метод Зейделя
Метод Зейделя C++
C++ Метод итераций и метод Зейделя
метод зейделя C++
C++ Метод Зейделя
Метод Зейделя C++
C++ метод Зейделя. c++
C++ Метод Зейделя

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru