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

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

Войти
Регистрация
Восстановить пароль
 
GaDinka
1 / 1 / 0
Регистрация: 01.02.2011
Сообщений: 64
#1

Определить метод решения матрицы - C++

29.01.2012, 20:24. Просмотров 262. Ответов 0
Метки нет (Все метки)

Доброго времени суток! Есть код программа, которая решает систему уравнений. Помогите, пожалуйста, определить какой именно способ (метод Крамера или Гаусса) для решения систем уравнения в этом коде описан. Вот сам код:
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
    //Найдем решение системы
    
    this->find_solve(N);
}
 
void systems::find_solve(unsigned char current){
    if(!det(current)){
        printf("Error #4\n");
        return ;
    }
    if(!this->A[3*(current-1)][0]){
        if(this->A[3*(current-1)+1][0]) for(int i=0;i<4;i++) this->A[3*(current-1)][i] += this->A[3*(current-1)+1][i]; else
            for(int i=0;i<4;i++) this->A[3*(current-1)][i] += this->A[3*(current-1)+2][i];
    }
    for(int i=3;i>=0;i--) this->A[3*(current-1)+1][i] -= this->A[3*(current-1)][i]*this->A[3*(current-1)+1][0]/this->A[3*(current-1)][0];
    if(!this->A[3*(current-1)+1][1]){
        for(int i=0;i<4;i++) this->A[3*(current-1)+1][i] += this->A[3*(current-1)+2][i]+this->A[3*(current-1)][i];
        for(int i=3;i>=0;i--) this->A[3*(current-1)+1][i] -= this->A[3*(current-1)][i]*this->A[3*(current-1)+1][0]/this->A[3*(current-1)][0];
    }
    //Получаем нули в третьей строке
    for(int i=3;i>=0;i--) this->A[3*(current-1)+2][i] -= this->A[3*(current-1)][i]*this->A[3*(current-1)+2][0]/this->A[3*(current-1)][0];
    for(int i=3;i>=1;i--) this->A[3*(current-1)+2][i] -= this->A[3*(current-1)+1][i]*this->A[3*(current-1)+2][1]/this->A[3*(current-1)+1][1];
    if(!this->A[3*(current-1)+2][2]){
        for(int i=0;i<4;i++) this->A[3*(current-1)+2][i] += this->A[3*(current-1)+1][i]+this->A[3*(current-1)][i];
        for(int i=3;i>=0;i--) this->A[3*(current-1)+2][i] -= this->A[3*(current-1)][i]*this->A[3*(current-1)+2][0]/this->A[3*(current-1)][0];
        for(int i=3;i>=1;i--) this->A[3*(current-1)+2][i] -= this->A[3*(current-1)+1][i]*this->A[3*(current-1)+2][1]/this->A[3*(current-1)+1][1];
    }
    for(int i=3;i>=2;i--){
        this->A[3*(current-1)+1][i] -= this->A[3*(current-1)+2][i]*this->A[3*(current-1)+1][2]/this->A[3*(current-1)+2][2];
        this->A[3*(current-1)][i] -= this->A[3*(current-1)+2][i]*this->A[3*(current-1)][2]/this->A[3*(current-1)+2][2];
    }
    for(int i=3;i>=1;i--) this->A[3*(current-1)][i] -= this->A[3*(current-1)+1][i]*this->A[3*(current-1)][1]/this->A[3*(current-1)+1][1];
    for(int i=0;i<3;i++){
        this->A[3*(current-1)+i][3] /= this->A[3*(current-1)+i][i];
        this->A[3*(current-1)+i][i] /= this->A[3*(current-1)+i][i];
    }
}
Заранее благодарю!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2012, 20:24     Определить метод решения матрицы
Посмотрите здесь:

Метод решения - C++
С помощью какого метода лучше всего решить на C++ систему уравнений как на картинке ?

Написать метод решения - C++
надо написать метод решения задачи: Дана действительная матрица размера n*m. в которой не все элементы равны нулю. Получить новую...

Метод Гаусса для решения линейных уравнений - C++
Мож у когото завалялся, буду благодарен.

Метод Гаусса решения СЛАУ с полным выбором. C++ - C++
Написал код реализующий метод Гаусса с полным выбором ведущего элемента, но ответ выдает не правильный. Помогите найти ошибку #include...

Решения ОДУ, используя уточненный метод Эйлера - C++
Вот задача: Разработать программу для численного решения ОДУ, используя уточненный метод Эйлера. В качестве исходного уравнения...

Входные/выходные данные. Метод решения и результат работы - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { char i; cin&gt;&gt;i; cout&lt;&lt;&quot;Vvedite bukvu&quot;&lt;&lt;endl; ...

Програмно организовать метод решения интеграла методом Ньютона - C++
интеграл (Cos(x)*Cos(x))dx

Написать программу для решения системы уравнений с пом. матрицы - C++
Добрый день! Очень прошу вашей подсказки в написании моей первой программы для решения системы уравнений с помощью матрицы! Собственно,...

Метод обратной матрицы - C++
Я писал свою программу давно на Паскале.. щас же мне она нужна на языке С++... може кто поможет перевести на С? заранее спасибо...всех с...

Метод обратной матрицы - C++
Необходимо добавить метод нахождения обратной матрицы #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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