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

Floating point overflow - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.65
nikitaevg
0 / 0 / 0
Регистрация: 23.07.2011
Сообщений: 57
24.07.2011, 20:54     Floating point overflow #1
помогите с проблемой-создал программу для вычисления уравнений с двумя неизвестными и выдает ошибку Floating point overflow вот код
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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int x,y,n,x1,x2,y1,y2,y3,b1,b2,b3,otvetx,otvety,otvety1;
float mnog;
x=StrToInt(Edit1->Text);
x2=StrToInt(Edit3->Text);
y=StrToInt(Edit2->Text);
y2=StrToInt(Edit5->Text);
n=StrToInt(Edit4->Text);
b2=StrToInt(Edit6->Text);
mnog=39;
do{begin:;
mnog-=0.001;
x1=mnog*=x;
y1=mnog*=y;
b1=mnog*=n;
if(x1!=x2) {goto begin;};}
while (x1!=x2);
y3=y1-y2;
b3=b1-b2;
otvety=b3/y3;
otvety1=y1*otvety;
otvetx=n-otvety1;
Label3->Caption=otvetx;
Label4->Caption=otvety;
помогите плиз
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2011, 20:54     Floating point overflow
Посмотрите здесь:

C++ Floating point error:Overfull
Illegal use of floating point C++
floating point error C++
C++ Ошибка: Illegal use of floating point
C++ Illegal use of floating point
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт C++
1004 / 783 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
24.07.2011, 20:58     Floating point overflow #2
УЖОС!
1. У тебя перемешаны целые и дробные числа. Если что, то деление целых даст целое, а не дробное.
2. Текст неполный. Не факт, что именно в этом месте оверфлоат происходит. Приведи подтверждения какие-нить, что именно в этом куске кода ошибка.
nikitaevg
0 / 0 / 0
Регистрация: 23.07.2011
Сообщений: 57
24.07.2011, 21:03  [ТС]     Floating point overflow #3
это вся программа-я только начинающий)
ошибка в 16 строке а 15-ая и 14-ая работают отлично
RUSya82
 Аватар для RUSya82
236 / 114 / 3
Регистрация: 15.10.2010
Сообщений: 395
24.07.2011, 21:03     Floating point overflow #4
Ну это нельзя назвать программой целиком, это обработчик одной из кнопок. Не проще ли тебе пока программировать в консоли?
Ну а даже если так, то косяк в цикле, goto вообще убери.
nikitaevg
0 / 0 / 0
Регистрация: 23.07.2011
Сообщений: 57
24.07.2011, 21:11  [ТС]     Floating point overflow #5
не,все равно осталось ну а насчет проги я начинаю-это мой второй проект
RUSya82
 Аватар для RUSya82
236 / 114 / 3
Регистрация: 15.10.2010
Сообщений: 395
24.07.2011, 21:23     Floating point overflow #6
Ну вот смотри:

Цитата Сообщение от nikitaevg Посмотреть сообщение
x1=mnog*=x;
y1=mnog*=y;
b1=mnog*=n;
сначала ты mnog умножаешь на x и записываешь в mnog и в х1, потом ты уже увеличенный mnog умножаешь на y, опять же запимсываешь результат в mnog, тоже самое в третьем выражении.
То бишь в каждом цикле ты переменная mnog увеличивается в x*y*n раз. Понятно откуда переполнение то идет.
nikitaevg
0 / 0 / 0
Регистрация: 23.07.2011
Сообщений: 57
24.07.2011, 21:31  [ТС]     Floating point overflow #7
т.е. приравнивание идет в обе стороны? и как это исправить?
RUSya82
 Аватар для RUSya82
236 / 114 / 3
Регистрация: 15.10.2010
Сообщений: 395
24.07.2011, 21:39     Floating point overflow #8
может все таки так? Чего ты хотел добиться этим выражением?
C++
1
2
3
x1=mnog*x;
y1=mnog*y;
b1=mnog*n;
Добавлено через 1 минуту
Цитата Сообщение от nikitaevg Посмотреть сообщение
т.е. приравнивание идет в обе стороны? и как это исправить?
ну как это в обе? просто x *= y <=> x = x*y
nikitaevg
0 / 0 / 0
Регистрация: 23.07.2011
Сообщений: 57
24.07.2011, 21:45  [ТС]     Floating point overflow #9
я попробовал но там счет не сходится(( помоги плиз
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
24.07.2011, 22:55     Floating point overflow #10
сначала определись, какие переменные у тебя будут целочисленные, а какие с плавающей точкой. потом почитай про арифметические операторы и циклы в C - я даже представить боюсь, где ты вычитал про такую организацию цикла через goto. может, конечно, ты всю жизнь занимался ASM'ом)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2011, 08:25     Floating point overflow
Еще ссылки по теме:

Floating point overflow C++
Много ошибок illegal use of floating point C++
Exception class overflow with message floating point overflow C++

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

Или воспользуйтесь поиском по форуму:
ValeryLaptev
Эксперт C++
1004 / 783 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
25.07.2011, 08:25     Floating point overflow #11
Paporotnik,

Не по теме:

Человек, пишущий на asme - ТАКИХ проблем не имеет. Говорю как человек, начинавший вообще с машинных кодов!

Yandex
Объявления
25.07.2011, 08:25     Floating point overflow
Ответ Создать тему
Опции темы

Текущее время: 04:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru