Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 16.06.2014
Сообщений: 8
1

Метод простых итераций

12.01.2015, 23:42. Просмотров 1967. Ответов 2
Метки нет (Все метки)

Помогите с написанием программы на С++, нужно решить СЛАУ методом простых итераций. Название: Безымянный.png
Просмотров: 79

Размер: 2.0 Кб с точностью 0,0001.
Мой код
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
#include <conio.h> 
#include <iostream>
#include <cmath>
 
#define eps 0.0001
 
using namespace std;
 
void simple_iteration(double **matr,double*b, double*x, int n)
{
    int i, j;
    double norma;
    double  *xn;
    xn = new double[n];
    cout <<"Решение:"<<endl;
            do
            {
                norma=0.0;
                for(i=0;i<n;i++)
                {
                   xn[i]=-b[i];
                   for(j=0;j<n;j++)
                   {
                       if(i!=j)
                       xn[i]+=matr[i][j]*x[j];
                   }
                   xn[i]/=-matr[i][i];
                 }
              for(i=0;i<n;i++)
              {
                 if(abs(x[i]-xn[i]) > norma)
                      norma=abs(x[i]-xn[i]);
                 x[i]=xn[i];
              }
            }
            while(norma > eps);
            for(i=0;i<n;i++)
            cout<<"x ["<<i+1<<"] = "<<x[i]<<endl;
}
 
int main()
{ 
    setlocale (LC_ALL, "Russian");
    const int n=3;
    int num;
    double **matr,*b,*x;
    b = new double[n];
    x = new double[n];
    matr=new double*[n];
    cout<<"Введите матрицу:"<<endl;
    for(int i=0;i<n;i++)
        matr[i]=new double [n];
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
            cin>>matr[i][j];
    cout<<"Введите свободные члены b:"<<endl;
    for(int i=0;i<n;i++)
        cin>>b[i];
    cout<<endl;simple_iteration(matr,b,x,n);
    cout<<endl;
    getch();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2015, 23:42
Ответы с готовыми решениями:

Посчитать количество проведенных итераций (метод простых итераций, Pascal -> C++)
перевести из паскаля в С++ program method_of_simple_iteration; uses crt; var a:array of real;...

Метод простых итераций
Систему решил ,получилось верно.Возникла одна проблема ,иксы которые я получил перемножить на...

Метод простых итераций. С/С++
Такое задание: написать алгоритм численного решения нелинейных уравнений методом простых итераций и...

Метод простых итераций
Здраствуйте! Нужно методом простой итерации решать такую систему нелинейных уравнений с точностью...

2
0 / 0 / 0
Регистрация: 16.06.2014
Сообщений: 8
12.01.2015, 23:46  [ТС] 2
выдает следующее
Метод простых итераций
в чем ошибка?
0
71 / 71 / 58
Регистрация: 12.12.2013
Сообщений: 420
13.01.2015, 00:12 3
Вы создали указатель и выделили под него память
C++
1
x = new double[n];
, при этом не инициализированный передаете в функцию, да потом внутри нее используете как множитель.
C++
1
xn[i]+=matr[i][j]*x[j];
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2015, 00:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Метод простых итераций
Дана функция 1.4 Cos - Log=0 Ее надо преобразовать к виду ф(x)=x, я не совсем понимаю как это...

Метод простых итераций
Необходимо реализовать программно метод простых итерация для решения НУ. к примеру возьмём...

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

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


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

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

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