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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread843444.html
Обычным методом задача решена, помогите пожалуйста сделать перегрузку операций Условие: Указанные в заданиях операции реализовать посредством перегрузки подходящих операций #include <iostream> #include <math.h> class Triangle { private: int angle;
C++ Вывод строки фиксированной длинны в cout (аля printf(%5.0d)! Добрый вечер! Сегодня встал перед выбором... как выводить через printf или cout. Через принтф код выдает ошибку: Необработанное исключение по адресу, ссылаясь на файл (msvcr110d.dll) ..Нарушение прав доступа Через cout все выводится, но хотелось бы, что бы для вывода выводилось определенное число пустых клеток, что бы получить таблицу: |1|name|name2|speed| а получаю так:... http://www.cyberforum.ru/cpp-beginners/thread843397.html
C++ Написать программу, решающую сравнения первой степени
Задние - написать программу, решающую сравнения первой степени, использую алгоритм Евклида. Проблема в том что не работает сама функция нахождения НОД: int NOD_Evklid (int a, int m, int d){ int array; int q,r,j,i; if (m>a) { r=m%a; n=1; for (j=0;j<n;j++) while (r!=0) {
Написать программу, в которую вбиваешь любую функцую, а она строит ее график C++
Вообщем, надо написать программу, в которую вбиваешь любую функцую, а она строит ее график.я не знаю как к этой задаче подойти, подскажите, я почитал, посмотрел, сначала нужно создать какой-то парсер(понятия не имею, что такое), после чего только надо будет с графиком"шаманить". Я вообще новичок, программировал на формах в среде Bulider, Tchart, Canvas- весь мой "словарь". Я не прошу мне...
C++ Как прописать шаблонную функцию внутри шаблонного класса? http://www.cyberforum.ru/cpp-beginners/thread843362.html
Как объявить шаблонную функцию/*типа iterator*/ внутри шаблонного класса?
C++ неизвестныйе символ-в формальных параметрах!Почему я же указал тип .? //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused #include <conio.h> #include <iostream.h> подробнее

Показать сообщение отдельно
hoob
19 / 11 / 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];
 
}
 
Текущее время: 07:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru