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

Написать программу для вычисления СЛАУ методом простой итерации с использованием динамических массивов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построить таблицу истинности http://www.cyberforum.ru/cpp-beginners/thread1143829.html
Здравствуйте! В принципе задача фигня, единственное с чем у меня загвоздка, это в том что в выражении могут быть скобки, следовательно считать все по очереди нельзя, может есть у кого как распарсить строку со скобками?
C++ Посодействуйте в доработке программы с функциями-шаблонами Для работы с двумерными массивами арифметических типов данных разработать шаблоны ввода и вывода массива, а также шаблон для решения задачи: - Подсчитать количество элементов, не попадающих в заданный интервал Есть наработки, шаблоны ввода и вывода вроде получились, и как сделать саму задачу понимаю, но как решить задачу с помощью шаблонов? Подскажите, пожалуйста. #include... http://www.cyberforum.ru/cpp-beginners/thread1143820.html
Существует ли генератор кода С++? C++
Всем привет! Стало интересно следующее: существует ли генератор кода для С++? То есть я соединяю некие концепции какими-нибудь стрелочками, определяя их взаимосвязи, нажимаю кнопочку и генерируется код на С++... :) И чтобы не интерфейс (как встроенная визуал студия), а программные модули. Есть ли такое?
Решение диф уравнений 2-ого порядка C++
Какие есть алгоритмы для решения диф уравнений 2-ого порядка, программно разумеется. И еще надо чтобы алгоритм поддавался распараллеливанию с помощью openMP. А то в гугле ни одного примера найти не смог...
C++ Перегрузка оператора << http://www.cyberforum.ru/cpp-beginners/thread1143803.html
Доброе время суток! Возникло осложнение с лабой. Нужно перегрузить оператор << так, чтобы при помощи него можно было копировать информацию с одного потока, в другой, связанных с файлом.С чего начать, подскажите? Класс здесь же не нужно создавать, так? просто функцию перед мейном написать
C++ Посоветуйте литературу Здравствуйте, пользователи cyberforum.ru. Искал в интернете вообщем не нашел. Вопрос, дайте мне сборник литературы, чтобы я мог выучить язык программирования, и писал на нем, как говорил на русском. Почитал, что нужно читать, Бьерна Страуструпа. А дальше C++0x и Boost. Ну вообщем, дайте мне сборник литературы. подробнее

Показать сообщение отдельно
aiwprton805
 Аватар для aiwprton805
64 / 64 / 23
Регистрация: 30.03.2013
Сообщений: 178
Завершенные тесты: 1
19.04.2014, 16:10     Написать программу для вычисления СЛАУ методом простой итерации с использованием динамических массивов
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <iostream>
#include <conio.h>
#include <locale>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    int n;
    double delta, eps;
 
    do
    {
        cout << " Введите количество неизвестных: " << endl;
        cin >> n;
        cout << " Введите точность: " << endl;
        cin >> eps;
 
        double **a = new double *[n];//выдeление динам. памяти для массива
        for(int i=0; i<n; i++)
        {
            a[i] = new double[n];
        }
        double *b = new double[n];// выдeление памяти для свободных членов
        double *x = new double[n];
        double *xp = new double[n];
 
        for(int i=0; i<n; i++)// ввод данных
        {
            for(int j=0; j<n; j++)
            {
                cout << " Введите " << (j+1) << "й коэффициент " << (i+1) << "го уравнения: ";
                cin >> a[i][j];
            }
            cout << " Введите свободный член " << (i+1) << "го уравнения: ";
            cin >> b[i];
        }
 
        for(int i=0; i<n; i++)// вывод СЛАУ
        {
            cout << " | ";
            for(int j=0; j<n; j++)
            {
                cout << a[i][j] << "*x(" << (i+1) << ") + " ;
            }
            cout << " = " << b[i];
            cout << endl;
        }
 
        for(int i=0; i<n; i++)
        {
            double temp = 0.0;
            for(int j=0; j<n; j++)
            {
                if(j != i) temp += a[i][j];
            }
            if(a[i][i] < temp)
            {
                cout << " Необходимое условие сходимости не выполняется" << endl;
                break;
            }
        }
 
        for(int i=0; i<n; i++)
        {
            xp[i] = b[i]/a[i][i]; // начальное значение Х
        }
 
        do
        {
            for(int i=0; i<n; i++)
            {
                double temp = 0.0;
                for(int j=0; j<n; j++)
                {
                    if(j != i) temp += a[i][j]*xp[j];
                }
                x[i] = (b[i] - temp)/a[i][i];
                delta = fabs(x[0] - xp[0]);
                for(int j=1; j<n; j++)
                {
                    if(fabs(x[j] - xp[j]) > delta)
                        delta = fabs(x[j] - xp[j]);
                }
                xp[i] = x[i];
            }
        }
        while(delta > eps);
 
        for(int i=0; i<n; i++)// вывод результата
        {
            cout << "  x(" << i << ") = " << x[i] << endl;
        }
 
        cout << " Для продолжения программы, введите 'y'" << endl;
        cout << " Для завершения введите любой другой символ..." << endl;
        int ch = getche();
        if((char)ch != 'y') break;
 
        for(int i=0; i<n; i++)// освобождение выдeленной памяти
        {
            delete [] a[i];
        }
        delete [] a;
        delete [] b;
        delete [] x;
        delete [] xp;
 
    } while(1);
 
 
    return 0;
}
 
Текущее время: 20:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru