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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
#1

Метод Гауса - C++

09.04.2011, 14:33. Просмотров 1441. Ответов 11
Метки нет (Все метки)

люди если кто может помочь помогите с задание таким
Методом Гаусса решить систему n линейных алгебраических уравне-ний c n неизвестными. Матрица коэффициентов системы и вектор свободных членов хранятся в двух файлах. на С++ буду оч благодарен у самого просто фантазии не хватает как это реализовать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2011, 14:33     Метод Гауса
Посмотрите здесь:

Метод Гауса есть? - C++
Поделитесь плиз програмкой для решения СЛАУ методом гауса=)

Метод Гауса, Visual 2008 - C++
Не могу понять, что происходит с программой..только осваиваю visual...запускаю, происходит выполнение и консольное окно закрывается, ошибок...

Метод гауса система ленейных уравнений - C++
Когда система линейных уравнений решенная методом Гаусса имеет бесконечное мноджество решений? какое должно быть условие?

метод гауса..обьясните как работает программа - C++
ipMatr(); for(opMatr(),k=0;k<=n;k++) //прямой ход метода Гаусса; {for(aa=fabs(a),i=k,j=k+1;j<=n;j++)//поиск макс....

Ошибка - Матрица гауса - C++
Ошибка заключается что он не вычесляет дальше. Что делать//Матрица гауса. #include <iostream> #include<stdio.h> using namespace std; ...

Как найти систему методом гауса - C++
Здравствуйте может кто подсказать как используя метод гаусса найти решение системы А*у=b ______a(i,1)___a(i,2)__...

решение системы уравнений методом Гауса - C++
Вот, ради интереса попробовал написать программу (С++). Сейчас она работает, но выполняет лишь первый шаг. Нужно чтобы программа выполняла...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ma3a
Эксперт C++
616 / 460 / 31
Регистрация: 28.01.2011
Сообщений: 605
09.04.2011, 14:39     Метод Гауса #2
Решение линейных алгебраических систем методом Гаусса
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
09.04.2011, 14:44  [ТС]     Метод Гауса #3
слушай помоги разобраться ты дал ссылку на решение а там не понятно что за код раскиданный
Ma3a
Эксперт C++
616 / 460 / 31
Регистрация: 28.01.2011
Сообщений: 605
09.04.2011, 14:47     Метод Гауса #4
Смотрите реализацию от Maxwe11 в той теме, там нормальное рабочее решение.
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
09.04.2011, 14:51  [ТС]     Метод Гауса #5
там дано три кода соединив их мне выкидывает ошибки

Добавлено через 2 минуты
и ещё подскажи что за команда
std::cout.width(10); cout через .
Ma3a
Эксперт C++
616 / 460 / 31
Регистрация: 28.01.2011
Сообщений: 605
09.04.2011, 14:56     Метод Гауса #6
Эти три кода надо поместить в три файла, первый в SLE.h, второй в SLE.cpp, третий например в main.cpp, а потом уже компилировать.
std::cout.width(10) устанавливает минимальное количество знаков в записи числа при выводе равным 10.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.04.2011, 15:01     Метод Гауса #7
вот Гаусс по примитивней
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
#include <iostream>
#include <iomanip>
 
void swap(double &a, double &b)
{
    double temp = a;
    a = b;
    b = temp;
}
 
void Gauss(double **A, double *B, unsigned dim) //результат - вектор Х получам в векторе В
{
    for (unsigned k = 0; k < dim; ++k)
    {
        if (A[k][k] == 0.0)
        {
            for (unsigned i = k + 1; i < dim; ++i)
            {
                if (A[i][k] != 0.0)
                {
                    for (unsigned j = 0; j < dim; ++j)
                        swap(A[i][j], A[k][j]);
 
                    swap(B[i], B[k]);
 
                    break;
                }
            }
        }
 
        double div = A[k][k];
 
        for (unsigned j = 0; j < dim; ++j)
            A[k][j] /= div;
 
        B[k] /= div;
 
        for (unsigned i = k + 1; i < dim; ++i)
        {
            double multi = A[i][k];
 
            for (unsigned j = 0; j < dim; ++j)
                A[i][j] -= multi * A[k][j];
 
            B[i] -= multi * B[k];
        }
    }
 
    for (unsigned k = dim - 1; k > 0; --k)
    {
        for (unsigned i = k - 1; i + 1 > 0; --i)
        {
            double multi = A[i][k];
 
            for (unsigned j = 0; j < dim; ++j)
                A[i][j] -= multi * A[k][j];
 
            B[i] -= multi * B[k];
        }
    }
}
 
int main()
{
    double *A[5];
    double B[5] = {22.0, 14.0, 456.0, 0.0, 5.0};
 
    for (int i = 0; i < 5; ++i)
        A[i] = new double [5];
 
    A[0][0] = 2;      A[0][1] = 0;  A[0][2] = 0;    A[0][3] = -12;  A[0][4] = 3;
    A[1][0] = 0;      A[1][1] = 2;  A[1][2] = 0;    A[1][3] = 3;    A[1][4] = 2;
    A[2][0] = 0;      A[2][1] = 0;  A[2][2] = 38;   A[2][3] = 5;    A[2][4] = 7;
    A[3][0] = -12; A[3][1] = 13;    A[3][2] = 5;    A[3][3] = 0;    A[3][4] = 0;
    A[4][0] = 3;    A[4][1] = 2;    A[4][2] = 7;    A[4][3] = 0;    A[4][4] = 0;
 
    Gauss(A, B, 5);
 
    std::cout << "X = {"
       << B[0] << '\n'
              << B[1] << '\n'
              << B[2] << '\n'
       << B[3] << '\n'
       << B[4] 
              << "}" << std::endl;
 
    for (int i = 0; i < 5; ++i)
        delete [] A[i];
    std::getchar();
    return 0;
}
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
09.04.2011, 15:05  [ТС]     Метод Гауса #8
если сделать динамичную матрицу будет работаеть ?
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.04.2011, 15:07     Метод Гауса #9
Цитата Сообщение от A555 Посмотреть сообщение
если сделать динамичную матрицу будет работаеть ?
да будет
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
09.04.2011, 15:08  [ТС]     Метод Гауса #10
и подскажи что за команда std::cout
std::getchar(); и компилятор подскажи плз а то мой не компилирует)
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
09.04.2011, 15:20     Метод Гауса #11
Цитата Сообщение от A555 Посмотреть сообщение
std::cout
вывод...

Цитата Сообщение от A555 Посмотреть сообщение
std::getchar();
получение символа
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2011, 15:42     Метод Гауса
Еще ссылки по теме:

Как привести матрицу к треугольному виду по методу гауса? - C++
Может у кого есть прога? Нужна срочно!

Метод Гауса-Зейделя - MS Excel
Помогите решить 2x1+x2-x3=1 -x1-x2+2x3=2 2x1+5x2-x3=5 Найти x1^(3), x2^(3), x3^(3)

СЛАУ методом гауса - Математика
В общем. Вот на этом сайте http://www.cleverstudents.ru/systems/solving_systems_Gauss_method.html пытался понять алгоритм. И в принципе...

Система методом Гауса - Matlab
Решить систему линейных уравнений n-го порядка методом Гауса с выбором главного элемента, мб поможет кто реализовать?

Модель Эйлера и Гауса - Matlab
Нужно создать в Матлабе модель Эйлера и Гауса


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

Или воспользуйтесь поиском по форуму:
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
09.04.2011, 15:42  [ТС]     Метод Гауса #12
всем большое спасибо)
Yandex
Объявления
09.04.2011, 15:42     Метод Гауса
Ответ Создать тему
Опции темы

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