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

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

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

Метод Гаусса C++, исправить ошибки в коде - C++

18.02.2014, 01:33. Просмотров 376. Ответов 7
Метки нет (Все метки)

Писал код по этому алгоритму, но с циклами совершенно не умею работать, помогите найти ошибки пожалуйста
Метод Гаусса C++, исправить ошибки в коде

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
#include<iostream>
#include <stdio.h>
#include <math.h>
#include <iomanip>
#include <conio.h>
using namespace std;
 
void main() {
    setlocale(0, "rus");
    const int N = 4;
    double a[N][N] = { { 0.68, 0.05, -0.11, 0.08 },
    { 0.21, -0.13, 0.27, -0.08 },
    { -0.11, -0.84, 0.28, 0.06 },
    { -0.8, 0.15, -0.5, -0.12 } };
    double b[N] = { 2.15, -0.83, 1.16, 0.44 };
    double x[N] = { 0, 0, 0, 0 };
    double x0[N] = { 2.15, 0.44, -0.83, 1.16 };
    double m;
 
    for (int k = 1; k < N; k++) {
        for (int j = k; j < N; j++){
            m = a[j][k - 1] / a[k - 1][k - 1];
            for (int i = 0; i <= 1; i = i + 1)
                a[j][i] = a[j][i] - m*a[k - 1][i];
        }
        for (int i = N - 1; i >= 0; i--){
            x[i] = a[i][N] / a[i][i];
            if (i != N - 1) {
                x[i] -= a[i][N + 1] * x[N + 1] / a[i][i];
            }
            else break;
            cout << x[i] << "" << endl;
        }
 
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2014, 01:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Метод Гаусса C++, исправить ошибки в коде (C++):

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Исправить ошибки в коде - C++
#include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;conio.h&gt; using namespace std; void MessageBo() { int MB_1 =...

Исправить ошибки в коде - C++
заранее огромное спасибо:) #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;string.h&gt; #include&lt;math.h&gt; using...

Исправить ошибки в коде - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; // ------------ -------------------------------- class TStudent { ...

7
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
18.02.2014, 02:27 #2
Нужно убрать оператор break в 31 строке, или вместо него должен быть continue, поскольку break прерывает выполнение цикла, а тебе нужно перейти на следующую итерацию
1
Amdustsias
0 / 0 / 0
Регистрация: 15.02.2014
Сообщений: 4
18.02.2014, 03:07  [ТС] #3
Убрал, заработала... Только странно как-то.
Вот СЛАУ с ответами:
Метод Гаусса C++, исправить ошибки в коде
А выдаёт вот такой бред:
Метод Гаусса C++, исправить ошибки в коде
0
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
18.02.2014, 03:52 #4
Amdustsias, а что значит в схеме выражение с + 1 ?
0
Amdustsias
0 / 0 / 0
Регистрация: 15.02.2014
Сообщений: 4
18.02.2014, 11:20  [ТС] #5
vovacreme, к переменной прибавить 1. Я так понимаю, это можно записать как j++, i++ ну и т.д
0
Extrim88
50 / 50 / 11
Регистрация: 08.02.2013
Сообщений: 189
18.02.2014, 11:35 #6
Amdustsias, у вас расхождение значений коэффициентов в программе со значениями тех же коэффициентов на скрине. Предлагаю, сначала проверить все коэффициенты в вашей программе, а уж потом "грешить" на неправильный результат.
1
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
18.02.2014, 14:59 #7
Amdustsias, не правильно вопрос сформулировал. Что значит переменная с?
0
Amdustsias
0 / 0 / 0
Регистрация: 15.02.2014
Сообщений: 4
18.02.2014, 19:57  [ТС] #8
Extrim88, Даже с правильными значениями, результат не верный.
vovacreme, Если честно, не имею понятия, откуда берётся данная переменная
0
18.02.2014, 19:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2014, 19:57
Привет! Вот еще темы с ответами:

Исправить ошибки в коде - C++
Помогите исправить ошибки(( #include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;cstdio&gt; #include &lt;cstdlib&gt; ...

Исправить ошибки в коде - C++
int _tmain(int argc, _TCHAR* argv) { return 0; } #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include &quot;windows.h&quot; // Две...

Исправить ошибки в коде - C++
#include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(int argc, char *argv) { int p; float...

Исправить ошибки в коде. - C++
Выдает ошибку, на скрине все есть


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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