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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.96
Reminaru
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 14
#1

СЛАУ методом Жордана-Гаусса - C++

20.04.2013, 17:36. Просмотров 7188. Ответов 8
Метки нет (Все метки)

Нужна программа для решения СЛАУ методом Жордана-Гаусса с выбором главного элемента.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2013, 17:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос СЛАУ методом Жордана-Гаусса (C++):

Вылет программы для вычисления СЛАУ методом Жордана-Гаусса при исполнении - C++
День добрый! Написал программу для вычисления СЛАУ методом Жордана-Гаусса. Однако при исполнении программа вылетает с ошибкой "Прекращена...

Решение СЛУ методом Жордана-Гаусса, заменить массив на динамический - C++
#include <iostream> #include <iomanip> #include <stdlib.h> using namespace std; class Jordan{ private: int NEQ, N1;...

СЛАУ методом Гаусса - C++
Всем доброго времени суток. По-сколько я новичек в программирование, то вот скачал код, для решения СЛАУ методом Гауса. Выдает...

Решение СЛАУ методом Гаусса - C++
помогите разобраться!!ВЫдает 85 ошибок!!!! #include <stdio.h> #include <conio.h> #include <tchar.h> #include <iostream> #include...

Решение СЛАУ методом Гаусса - C++
Всем привет))) Друзья, сколько я уже лазию по инету и по этому форуму, я никак не могу найти правильно работающей программки. Может кто...

Решание СЛАУ методом Гаусса в С++ - C++
Салют обитателям форума! Вот значит какое дело, у меня такое задание : "Решение уравнений методом Гаусса. Коэффициенты обрабатываются в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
hoob
19 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 89
Записей в блоге: 1
20.04.2013, 17:51 #2
Случайно, не в мифи учишься?
0
Reminaru
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 14
20.04.2013, 18:07  [ТС] #3
hoob, нет, а что?
0
hoob
19 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 89
Записей в блоге: 1
20.04.2013, 18:34 #4
Цитата Сообщение от Reminaru Посмотреть сообщение
hoob, нет, а что?
Просто есть готовая программа (с интерфейсом), но не хотелось бы, что бы ее в мифи сдавали еще раз
0
Reminaru
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 14
20.04.2013, 18:39  [ТС] #5
hoob, ну я не в мифи учусь если что) можешь скинуть?

Добавлено через 1 минуту
hoob, и мне бы код тоже сам, я хоть посмотрю, что и как работает)
0
hoob
19 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 89
Записей в блоге: 1
20.04.2013, 18:50 #6
Цитата Сообщение от Reminaru Посмотреть сообщение
hoob, ну я не в мифи учусь если что) можешь скинуть?

Добавлено через 1 минуту
hoob, и мне бы код тоже сам, я хоть посмотрю, что и как работает)
Написано, правда, под Qt, но на C++
2
Вложения
Тип файла: rar GaussMethod_with_release.rar (4.62 Мб, 705 просмотров)
Reminaru
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 14
20.04.2013, 19:22  [ТС] #7
hoob, спасибо)

Добавлено через 1 минуту
hoob, а чисто коды еще есть?
0
hoob
19 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 89
Записей в блоге: 1
20.04.2013, 19:39 #8
Цитата Сообщение от Reminaru Посмотреть сообщение
hoob, спасибо)

Добавлено через 1 минуту
hoob, а чисто коды еще есть?
В смысле чисто коды? Там же одна папка с релизом, другая с исходниками

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
//Сам метод Гаусса - матрица приводится к виду, когда под главной диаганалью нули
for (k=0 ; k < n ; k++)
        {
            if(usr_vedelm->isChecked()) vedElem(A,k); //если выбрана опция вызова процедуры выбора ведущего элемента
            for ( i = k+1 ; i < n; i++ )
            {
                buf = A[i][k]/A[k][k];
                for ( j = k ; j < n+1 ; j++)
                    A[i][j]=A[i][j]-buf*A[k][j];
            }
        }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Ищем решение снизу вверх прямой подстановкой 
void MyWidget::findSolution(double **A, double **B)
{
    int n = usr_dim -> text().toInt();
    int i,j;
    double buf=0.0;
    double* X = new double [n];
    X[n-1]=A[n-1][n]/A[n-1][n-1];
    for ( i = n-2; i >= 0; i-- )
    {
        buf =0;
        for ( j = i+1 ; j < n ; j++)
            buf=buf+A[i][j]*X[j];
        X[i]=1.0/A[i][i]*(A[i][n]-buf);
    }
    newValue(X,1);
    nevyazka(B,X); //ищем невязку
}
Процедура выбора ведущего (главного) элемента. Передается указатель на матрицу и номер итерации
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
void MyWidget::vedElem(double **A, int k)
{
    int n = usr_dim->text().toInt();
    int kmax=k;
    double det = 1.0;
    double Amod;
    double Amax=fabs(A[k][k]);
    if (k<n)
    {
        for (int i = k+1 ; i < n ; i++)
        {
            Amod=fabs(A[i][k]);
            if (Amod > Amax)
            {
                Amax=Amod;
                kmax=i;
            }
        }
    }
    if (fabs(Amax)<=DBL_EPSILON) //DBL_EPSILON - машинный ноль, для типа double
    {
        det=0.0;
        crash();
        return;
    }
    if (kmax!=k)
    {
        for (int j = k; j < n+1 ; j++)
        {
            double buf=A[k][j];
            A[k][j]=A[kmax][j];
            A[kmax][j]=buf;
        }
        det=-det;
    }
    det=det*A[k][k];
 
}
0
Reminaru
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 14
20.04.2013, 23:02  [ТС] #9
hoob, спасибо огромное)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2013, 23:02
Привет! Вот еще темы с ответами:

Решение СЛАУ методом Гаусса - C++
У меня программа для решения слау методом Гаусса с выбором главного элемента по столбцам. Что-то мне не нравятся ответы, гляньте может в...

Ошибка в решении СЛАУ методом Гаусса - C++
Ребят, помогите пожайлуйста найти ошибку у меня в программе метод Гаусса Вроде прямой ход правильный, может ошибка в обратном? Буду...

Решить СЛАУ методом Гаусса (проверить) - C++
Есть код!компилируется без ошибок.Задача программы решить СЛАУ методом Гаусса Но я не понимаю почему вывод информации осуществляется...

Реализовать решение СЛАУ методом Гаусса - C++
Не могу разобраться в чём проблема. Пытаюсь реализовать метод гаусса, вроде бы всё правильно, но приводит матрицу к не правильному...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.04.2013, 23:02
Ответ Создать тему
Опции темы

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