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

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

Войти
Регистрация
Восстановить пароль
 
 
Hammer-On
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 41
#1

ошибка) - C++

19.03.2013, 22:05. Просмотров 403. Ответов 17
Метки нет (Все метки)

помогите пожалуйста найти ошибку в коде)
код решает систему методом гаусса.
проблема в том, что программа останавливается на вводе матрицы а (ввод просто не заканчивается)
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
#include <iostream.h>
#include <math.h>
double a[5][5];
double b[5];
double x[5];
double m;
double s;
int i;
int j;
int k;
class Gauss
{
public: 
void iNput()
{
    cout << "vvedite massiv a"<<endl;
    for(i=1;i<=5;i++)
    for(j=1;j<=5;j++)
    cin >> a[i][j];
    cout << "vvedite massiv b"<<endl;
for(i=1;i<=5;i++)
    cin >>b[i] ;
}
 
void rAsschet()
{
for (i=1; i<5; i++)
for (j =i+1; j<=5;j++) 
{
    m=a[i][j]/a[i][i];
    b[j]=b[j]-m*b[i];
for(k=1;k<=5;k++)
    a[j][k]=a[j][k]-m*a[i][k];
}
    x[5]=b[5]/a[5][5];
for(i=4;i>0;i--)
{
    s=0;
for(j=i+1;j<=5;j++)
    s=s+a[i][j]*x[j];
    x[i]=(b[i]-s)/a[i][i];
}
}
void oUtput(){
for(i=1;i<=5;i++)
    cout<<"x"<<i<<"="<<x[i]<<endl;
}
};
void main()
{
    Gauss objiNput;
    Gauss objrAsschet;
    Gauss objoUtput;
    objiNput.iNput();
    objrAsschet.rAsschet();
    objoUtput.oUtput();
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 22:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ошибка) (C++):

Ошибка в конструкторе с параметром. Компилятор не ругается, но при запуске программы возникает ошибка - C++
Я знаю точно, что ошибка в конструкторе с параметром. Компилятор не ругается, но при запуске моей программы windows выдает ошибку. Почему ?...

Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка - C++
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка. #include &lt;iostream&gt; #include...

Ошибка при компиляции. Где ошибка? (Работа с классом) - C++
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to `MeterNZiF::MeterNZiF()' &quot; на 7 строку приложения. ...

Укажите где ошибка (ошибка во время выполнения программы) - C++
Здравствуйте, помогите пожалуйста найти ошибки в коде которые возникаю при выполнении программы Картинка с ошибкой внизу поста. Код: ...

Реализовать через тип данных структура. При сборке и отладки возникает ошибка. В чем ошибка? - C++
С++ в таблице из 5 строк хранятся данные о товарах: наименование, цена, количество. Определить и вывести наименование товара, цена которого...

Ошибка при использовании vector (в конце, после вывода результатов выскакивает ошибка, но сам результат коректен) - C++
Суть в следующем, мы считываем введеные значения и выводим этот массив Проблема такова что массив выводиться, корректно, но в конце...

17
alsav22
5431 / 4826 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2013, 22:08 #2
C++
1
2
3
4
5
6
7
8
9
10
void iNput()
{
    cout << "vvedite massiv a"<<endl;
    for(i=0;i<5;i++)
    for(j=0;j<5;j++)
    cin >> a[i][j];
    cout << "vvedite massiv b"<<endl;
    for(i=0;i<5;i++)
    cin >>b[i] ;
}
1
egor2116
450 / 374 / 42
Регистрация: 20.01.2013
Сообщений: 1,133
19.03.2013, 22:15 #3
У меня что то считает и зацикливания нету, у вас массив 5 на 5 то есть 25 элементов.

Вот что у меня вывело
vvedite massiv a
1
2
3
4
5
6
7
8
9
4
5
6
1
2
3
4
5
6
4
7
8
99
6
5
4
vvedite massiv b
1
2
3
4
5
x1=-243.667
x2=68.8333
x3=-262.5
x4=237.5
x5=-12.5

Добавлено через 3 минуты
alsav22, вы предложили шило на мыло ?
от 1 до 5 = нет выхода за пределы массива
вы от 0 до 4 = результат тот же
1
Hammer-On
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 41
19.03.2013, 22:15  [ТС] #4
хм, а в чем моет быть проблема?
не могу вникнуть никак

если что - Visual 6.0
0
alsav22
5431 / 4826 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2013, 22:20 #5
Цитата Сообщение от egor2116 Посмотреть сообщение
alsav22, вы предложили шило на мыло ?
от 1 до 5 = нет выхода за пределы массива
Как это нету? Если массив объявлне как double b[5], то b[5] - выход за пределы массива.

Добавлено через 56 секунд
Цитата Сообщение от Hammer-On Посмотреть сообщение
не помогло, изменений нет(
Ввод проходит?
1
egor2116
450 / 374 / 42
Регистрация: 20.01.2013
Сообщений: 1,133
19.03.2013, 22:22 #6
Если ошибку точно не какую не пишет, то могу посоветовать убрать ввод значений т.к. он утомительный и заменить кодом.
Убрать
C++
1
cin >> a[i][j];
заменить на что то типа этого
C++
1
a[i][j]=i*j;
тоже и с
C++
1
 cin >>b[i]
на
C++
1
b[i]=i*2
1
Hammer-On
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 41
19.03.2013, 22:23  [ТС] #7
неа

Добавлено через 43 секунды
спасибо пробую
0
egor2116
450 / 374 / 42
Регистрация: 20.01.2013
Сообщений: 1,133
19.03.2013, 22:25 #8
Как это нету? Если массив объявлне как double b[5], то b[5] - выход за пределы массива.
если бы был выход оно бы еще на этапе компиляции ругалось что то там Stack ....

Я код запускал без изменений, и все сработало, смотри выше в теме результат вывода
1
Hammer-On
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 41
19.03.2013, 22:27  [ТС] #9
так, дело продвинулось) ввод пошел)
изменил массив на
C++
1
double a[6][6];
как и советовали и заработало
(не понимаю, почему до этого не заработало)
0
egor2116
450 / 374 / 42
Регистрация: 20.01.2013
Сообщений: 1,133
19.03.2013, 22:28 #10
а я не понимаю как у меня работало?
1
Hammer-On
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 41
19.03.2013, 22:31  [ТС] #11
вообще запутался как-то

Добавлено через 1 минуту
сейчас введу те же числа сверим ответы
0
alsav22
5431 / 4826 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2013, 22:32 #12
Цитата Сообщение от egor2116 Посмотреть сообщение
если бы был выход оно бы еще на этапе компиляции ругалось
Это ошибка времени выполнения, компилятор не отслеживает выход за пределы массива.
1
egor2116
450 / 374 / 42
Регистрация: 20.01.2013
Сообщений: 1,133
19.03.2013, 22:34 #13
да ты прав, но почему у меня сработало без ошибок или даже предупреждений, пойду пошагово запущу.
1
alsav22
5431 / 4826 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2013, 22:35 #14
Цитата Сообщение от Hammer-On Посмотреть сообщение
вообще запутался как-то
Проверяйте индексы, я вам только на вводе показал, где ошибка, у вас и дальше индексы неправильные. И заполнение массива начинается с нулевого индекса.

Добавлено через 1 минуту
Цитата Сообщение от egor2116 Посмотреть сообщение
или даже предупреждений
Предупреждения компилятор выдаёт, а он это не отслеживает.
1
Hammer-On
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 41
19.03.2013, 22:39  [ТС] #15
ввел всё тоже. поменял только
C++
1
2
3
double a[6][6];
double b[6];
double x[6];
иксы кроме х1=1 по нулям

Добавлено через 39 секунд
ага, понял иду фиксить

Добавлено через 59 секунд
хотя, нет, теперь вроде нечего фиксить
0
19.03.2013, 22:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 22:39
Привет! Вот еще темы с ответами:

типизированный файл, ошибка ошибка при выходе - C++
Работа с типизированным файлом. В функцию вывода добавляю проверку if для вывода персонала только 1 подразделения. Выводит на 1 элемент...

Ошибка в коде (Ошибка сегментирования (core dumped) - C++
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; while ((ch = cin.get()) != '0' ) ...

С++ ошибка в проге, но не могу понять какая ошибка( - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;clocale&gt; using namespace std; int main (int args, const char * argv ) { ...

Ошибка 2 error LNK2019, не пойму в чем ошибка - C++
Выдает такую ошибку: Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ &quot;int __cdecl game(void)&quot; (?game@@YAHXZ) в функции....


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

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

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