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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread843444.html
Обычным методом задача решена, помогите пожалуйста сделать перегрузку операций Условие: Указанные в заданиях операции реализовать посредством перегрузки подходящих операций #include <iostream>...
C++ Вывод строки фиксированной длинны в cout (аля printf(%5.0d)! Добрый вечер! Сегодня встал перед выбором... как выводить через printf или cout. Через принтф код выдает ошибку: Необработанное исключение по адресу, ссылаясь на файл (msvcr110d.dll) ..Нарушение... http://www.cyberforum.ru/cpp-beginners/thread843397.html
C++ Написать программу, решающую сравнения первой степени
Задние - написать программу, решающую сравнения первой степени, использую алгоритм Евклида. Проблема в том что не работает сама функция нахождения НОД: int NOD_Evklid (int a, int m, int d){ ...
Написать программу, в которую вбиваешь любую функцую, а она строит ее график C++
Вообщем, надо написать программу, в которую вбиваешь любую функцую, а она строит ее график.я не знаю как к этой задаче подойти, подскажите, я почитал, посмотрел, сначала нужно создать какой-то...
C++ Как прописать шаблонную функцию внутри шаблонного класса? http://www.cyberforum.ru/cpp-beginners/thread843362.html
Как объявить шаблонную функцию/*типа iterator*/ внутри шаблонного класса?
C++ неизвестныйе символ-в формальных параметрах!Почему я же указал тип .? //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- ... подробнее

Показать сообщение отдельно
hoob
20 / 12 / 1
Регистрация: 04.11.2012
Сообщений: 89
Записей в блоге: 1
20.04.2013, 19:39
Цитата Сообщение от 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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.