Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 02.12.2015
Сообщений: 22
1

Надо написать удаление нулевой строки в решении СЛАУ методом Жордано-Гаусса

13.12.2015, 17:09. Показов 938. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! очень нужно помощь! мне надо решить систему методом Жордана-Гаусса...а там при приведении её к этому методу возникает целая нулевая строка (матрица 3 на 3, вторая строка нулевая)и метод не работает потом...надо как-то написать в коде, что если строка нулевая, то её можно опустить(убрать)вообще..как это сделать?
помогите, пожалуйста!срочно нужно

Добавлено через 3 минуты
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
вот мой код
#include <iostream>
#include <windows.h>
#include <math.h>
#include <tchar.h>
#include <fstream>
 
using namespace std;
int main()
{
    setlocale (LC_ALL, "Russian" );
    double a[10][10];
    const int n = 3;
    const  int M = n + 1;
    int i, j, k;
    fstream fs("3laba.txt");
    for (int i =0; i<n;i++)
    {
        for (int j=0; j<M; j++)
        {
    fs>>a[i][j];
    cout<< "   " << a[i][j];
        }
    cout<<endl;
    }
 
       // прямой ход 
double t, v;
    for(int k = 0; k < n; k++)
    { 
        //проверяем на ненулевой элемент
        if(a[k][k] == 0) 
        {
            for (j = k; j < n+1; j++)
            {
                v = a[k][j];
                a[k][j] = a[k + 1][j];
                a[k + 1][j] = v;
            }
        }
        
        t = a[k][k];
        for(int j = k; j < n + 1; j++) 
        {
       // делится уравнения на A[i][i] и получаем след систему
 
    double x,c;
    for (int i = 0; i < n; i++)
    {
       x = a[i][i];
       if (x!=0){
 
       for (int j = i; j < M; j++)
       {
          a[i][j] /= x;
       }
 
     // складываются первое и второе уравнения и умножаются на соотв числа
       for (int k = 0; k < n; k++) 
       {
          if (k!=i){
              c = a[k][i];
              for (int r = i; r < M; r++)
              {
                    a[k][r] = a[i][r]*(-1)*c+a[k][r];
               }
 
         } } }
}
 
 
    double k;
    double Mas[50];
 
    for (int h = 0; h < n; h++) 
    {
        for (int p = 0; p < n; p++)
        {
            if(p!=h)
            {
               k = a[p][h]/a[h][h];
               for (int i = 0; i < M; i++)
               {
                   Mas[i] = a[h][i]*k;
                   a[p][i]-=Mas[i];
               }
            }
        }
    }
 
    for (int r = 0; r < n; r++) 
    {
        double e = a[r][r];
        for (int t = r; t < M; t++)
        {
            a[r][t]/=e;
        }
    }
 
    cout << endl << "матрица:" << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j=0; j < M; j++)
            cout << a[i][j] << "    " ;         //выводим матрицу полученную
            cout << endl;
    }
 
    double X[10];
    for (int i = 0; i < n; i++) {
       X[i] = a[i][M-1];
    }
    cout << endl << "Ответ:" << endl;
    for (int i = 0; i < n; i++)
    {
       cout << "X" << i+1 << "=" ;
X[i] *= 1000;
X[i] = ceil(X[i]);
X[i] /= 1000;
       cout << X[i] << endl;      // выводим наш ответ
    }
 
    system("pause");
    return 0;
}
    }
}
Добавлено через 1 час 19 минут
и почему-то тут вообще не работает проверка на ноль(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2015, 17:09
Ответы с готовыми решениями:

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

Квадратичная аппроксимация, ошибка при решении СЛАУ методом Гаусса
всем привет, возникла проблема при квадратичной аппроксимации функции, в результате левые данные......

Нахождение обратной матрицы методом Гаусса-Жордано
В данный момент проходим матрицы и у меня возникли сложности с нахождением обратной матрицы методом...

Написать программу которая находит решение СЛАУ методом Гаусса
Помогите найти ошибку в коде. Нужно написать программу которая находит решение СЛАУ методом...

0
13.12.2015, 17:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2015, 17:09
Помогаю со студенческими работами здесь

Помогите написать программу для решения слау методом Гаусса
Осталось как обычно пару дней до сдачи курсовой, а она еще не готова! Помогите пожалуйста. Вот...

Кто сможет? Написать функцию для решения СЛАУ методом Гаусса
Кто может написать функцию для решения СЛАУ методом Гаусса используя базовые знания.

Решить СЛАУ методом Крамера, методом Гаусса, с помощью обратной матрицы
Решите систему линейных уравнений а) методом Крамера; б) методом Гаусса; в) с помощью обратной...

Вычисление СЛАУ методом Гаусса и методом Крамера
Я совсем начинающий программист, студент, но я после продолжительного ковыряния в данном коде ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru