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

решение системы уравнений методом Гауса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Решение систем уравнений http://www.cyberforum.ru/cpp-beginners/thread206707.html
Решить систему алгебраических уравнений методом Жордана-Гаусса: 3x1+1.5x2-x3+2.4x4=6 -0.5x1+x2-3.1x3-4x4=-12 2x1-0.8x2-x4=1 x1-1.3x2+3.9x3-3.7x4=3.1
C++ Подсчет нулевых элементов в заданном одномерном массиве Напишите фрагменты программ для решения следующих задач: 1) подсчет нулевых элементов в заданном одномерном массиве; 2) вычисление суммы положительных элементов в заданном одномерном массиве; 3) поиск первого максимального элемента и его индекса в заданном одномерном массиве; 4) поиск последнего минимального элемента и его индекса в заданном одномерном массиве; http://www.cyberforum.ru/cpp-beginners/thread206695.html
Матрица C++
помогите пожалуйста, я ничего не шарю в С+, а у меня сейчас контрольная работа. Напишите код программы. Вот задание вводится произвольная квадратная матрица построчно. Вводятся: номер строки и столбца правого верхнего угла внутренней квадратной матрицы и ее порядок. Все элементы внутренней матрицы заменяются на сумму элементов предпоследнего столбца введенной матрицы. Выводится полученная...
C++ Не могу сообразить как написать цикл
не могу сообразить как написать вот этот цикл в С++
C++ Где можно скачать компилятор MinGW? http://www.cyberforum.ru/cpp-beginners/thread206658.html
А где я могу скачать просто компилятор MinGW g++ ?
C++ Заполнение одномерного массива Привет форумчане. Хочу заполнить два одномерных массива с помощью функции rand(); Вот код: void InMas(int *mas, int size) { srand(unsigned(time(NULL))); for(int i = 0; i < size; i++) { mas = rand() % 100; подробнее

Показать сообщение отдельно
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
29.04.2013, 17:39     решение системы уравнений методом Гауса
MrGluck, Если система имеет ровно 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
#include <iostream>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
#include <stack>
#include <deque>
#include <set>
#include <string>
#include <limits>
#include <fstream>
 
using namespace std;
 
int main(){
    freopen("input.txt", "rt", stdin);
    freopen("output.txt", "wt", stdout);
    int n;
    cin >> n;
    vector < vector <double> > a(n, vector <double> (n+1, 0));  
    for (int i = 0; i < n; i++){
        for (int j = 0; j <= n; j++){
            cin >> a[i][j];
        }
    }   
    for (int i = 0; i < n; i++){
        int row = i;
        int mx = a[i][i];
        for(int k = i+1; k < n; k++){
            if (abs(a[k][i]) > mx){
                row = k;
                mx = abs(a[k][i]);
            }
        }
        swap(a[row], a[i]);
        for (int j = i+1; j < n; j++){
            double e = a[j][i]/a[i][i];
            for (int k = i; k <= n; k++){
                a[j][k] -= e*a[i][k];
            }
        }
    }
    vector <double> ans(n);
    for (int i = n-1; i >= 0; i--){
        double sum = a[i][n];
        for (int j = i; j < n; j++){
            sum -= a[i][j]*ans[j];
        }
        ans[i] = sum/a[i][i];
    }
    for (int i = 0; i < n; i++){
        printf("%.20lf ", ans[i]);
    }
    return 0;
}
 
Текущее время: 12:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru