Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
 Аватар для Arigami
1 / 1 / 0
Регистрация: 23.04.2010
Сообщений: 35

Выдает ошибку типо деление на 0 хотя на 0 ни где у меня не делится

12.06.2010, 22:02. Показов 3276. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выдает ошбку "Floating point division by zero" но у меня на 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
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
127
128
129
130
131
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include<math.h>
#include<iostream.h>
#include <stdio.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 
StringGrid1->Cells[0][0] = "N";
StringGrid1->Cells[1][0] = "Xi";
StringGrid1->Cells[2][0] = "Yi";
 
 
 
StringGrid2->Cells[0][0] = "Ñóììà Xi";
StringGrid2->Cells[1][0] = "Ñóììà Yi";
StringGrid2->Cells[2][0] = "Ñóììà Xi^2";
StringGrid2->Cells[3][0] = "Ñóììà Yi^2";
StringGrid2->Cells[4][0] = "Ñóììà Yi*Xi";
StringGrid2->Cells[5][0] = "Êîðåëÿöèÿ r";
 
}
//---------------------------------------------------------------------------//---------------------------------------------------------------------------}
//---------------------------------------------------------------------------
 
 
 
 
void __fastcall TForm1::CSpinEdit1Change(TObject *Sender)
{
     StringGrid1->RowCount=CSpinEdit1->Value+2;
     float m;
     m=CSpinEdit1->Value;
     for (int i=1; i<=m; i++)
       StringGrid1->Cells[0][i]=IntToStr(i);
     StringGrid1->Cells[0][m+1]="";
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::N5Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------
 
 
 
 
void __fastcall TForm1::Button4Click(TObject *Sender)
{
    for(int i = 0; i < StringGrid1->ColCount; i++)
    for(int j = 0; j < StringGrid1->RowCount; j++)
    StringGrid1->Cells[i+1][j+1] = "";
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int I,J;
double x,y,r;
float x2,y2,z,c,d,c2,c3,t1,t2,c1,c4;
DecimalSeparator = '.';//aeiaaeuiay aioo?aiiyy ia?aiaiiay
J=StringGrid1->RowCount-2;
for(I=1; I<=J ; I++)
{
x+=StrToFloat(StringGrid1->Cells[1][I]);
y+=StrToFloat(StringGrid1->Cells[2][I]);
x2+=pow((StrToFloat(StringGrid1->Cells[1][I])),2);
y2+=pow((StrToFloat(StringGrid1->Cells[2][I])),2);
z+=(StrToFloat(StringGrid1->Cells[1][I]))*(StrToFloat(StringGrid1->Cells[2][I]));
d=StrToFloat(StringGrid1->Cells[0][I]);
c=d*z-x*y;
t1=d*x2;
t2=pow(x,2);
c1=t1-t2;
c2=(d*y2)-(pow(y,2));
c3=(c1)*(c2);
c4=sqrt(c3);
r=c/c4;
 
}
StringGrid2->Cells[0][StringGrid2->RowCount-1] = FloatToStr(x);
StringGrid2->Cells[1][StringGrid2->RowCount-1] = FloatToStr(y);
StringGrid2->Cells[2][StringGrid2->RowCount-1] = FloatToStr(x2);
StringGrid2->Cells[3][StringGrid2->RowCount-1] = FloatToStr(y2);
StringGrid2->Cells[4][StringGrid2->RowCount-1] = FloatToStr(z);
StringGrid2->Cells[5][StringGrid2->RowCount-1] = FloatToStr(z);
 
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
float r;
r=StrToFloat(StringGrid2->Cells[5][1]);
if (r>0)
 {
 Form2->ShowModal();
 }
if (r<0)
 {
 Form3->ShowModal();
 }
 if (r=0)
  {
  ShowMessage ("Êîððåëÿöèÿ ðàâíà 0 (Åñëè ñ èçìåíåíèåì x çíà÷åíèÿ Y â ñðåäíåì íå èçìåíÿþòñÿ, òî ãîâîðÿò, ÷òî êîððåëÿöèÿ – íóëåâàÿ.)");
 }
}
//---------------------------------------------------------------------------

Деление производится только тут

C++
1
r=c/c4;
100 строка

я отдельно выводил с4 и оно не равно 0 что делать я чет не поиму? еще я ставил условие если с4 равно 0 выводить сообщение сообщение не выводило просто также вылетало и писало "Floating point division by zero".
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2010, 22:02
Ответы с готовыми решениями:

При запуске ERD commander для Windows XP выдает какую-то ошибку типо флоппик.sys не обнаружен
Доброе время суток,господа!Сборка erd commander все в одном(от xp до 8)У меня стоит семерка,ерд запустился,пробую запустить на другом компе...

Почему выдает ошибку на деление?
как исправить чтобы не выдавло ошибку(можно было делить на 5). uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

выдаёт деление на ноль. Где ошибка?
#include&lt;iostream.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; double Ln_a(double a) { return...

32
 Аватар для Arigami
1 / 1 / 0
Регистрация: 23.04.2010
Сообщений: 35
13.06.2010, 01:03  [ТС]
Студворк — интернет-сервис помощи студентам
Как ты выводишь? с4?
0
 Аватар для FiliH
40 / 39 / 4
Регистрация: 22.03.2010
Сообщений: 100
13.06.2010, 01:04
Ну вот вам мой скрин:
Миниатюры
Выдает ошибку типо деление на 0 хотя на 0 ни  где у меня  не делится  
0
 Аватар для Arigami
1 / 1 / 0
Регистрация: 23.04.2010
Сообщений: 35
13.06.2010, 01:05  [ТС]
весело у всех все разное)
0
 Аватар для Arigami
1 / 1 / 0
Регистрация: 23.04.2010
Сообщений: 35
13.06.2010, 01:08  [ТС]
вот кстати формула по которой рассчитываю
Миниатюры
Выдает ошибку типо деление на 0 хотя на 0 ни  где у меня  не делится  
0
13 / 13 / 2
Регистрация: 14.04.2010
Сообщений: 72
13.06.2010, 01:10
C++
1
z+=(StrToFloat(StringGrid1->Cells[1][I]))*(StrToFloat(StringGrid1->Cells[2][I]));
а чему здесь z равняется?

там же мусор?
0
 Аватар для Arigami
1 / 1 / 0
Регистрация: 23.04.2010
Сообщений: 35
13.06.2010, 01:12  [ТС]
z=140
0
13 / 13 / 2
Регистрация: 14.04.2010
Сообщений: 72
13.06.2010, 01:15
ты объявил z но не обнулил ее
это
C++
1
z+=(StrToFloat(StringGrid1->Cells[1][I]))*(StrToFloat(StringGrid1->Cells[2][I]));
равносильно этому
C++
1
z=z+(StrToFloat(StringGrid1->Cells[1][I]))*(StrToFloat(StringGrid1->Cells[2][I]));
а z у всех свое или нет?
0
 Аватар для Arigami
1 / 1 / 0
Регистрация: 23.04.2010
Сообщений: 35
13.06.2010, 01:18  [ТС]
C++
1
z+=(StrToFloat(StringGrid1->Cells[1][I]))*(StrToFloat(StringGrid1->Cells[2][I]));
это равно z+=x*y след когда изменяются x И y то меняется и z
0
 Аватар для FiliH
40 / 39 / 4
Регистрация: 22.03.2010
Сообщений: 100
13.06.2010, 01:18
Попробуй это:
Вложения
Тип файла: zip Прога для диплома.zip (922.0 Кб, 13 просмотров)
1
13 / 13 / 2
Регистрация: 14.04.2010
Сообщений: 72
13.06.2010, 01:19
а z после равно
0
 Аватар для Arigami
1 / 1 / 0
Регистрация: 23.04.2010
Сообщений: 35
13.06.2010, 01:25  [ТС]
Цитата Сообщение от FiliH Посмотреть сообщение
Попробуй это:
хм а что ты сделал ток вывод сообщениея и ошибка исчезла?

Добавлено через 2 минуты
бля я тя обожаю я токо что нарыл данные которые давно рассчитывал и таже ошибка была теперь правильно считает)

Добавлено через 1 минуту
так что ты сделал??)) интересно
0
 Аватар для FiliH
40 / 39 / 4
Регистрация: 22.03.2010
Сообщений: 100
13.06.2010, 01:27
Я тебе писал: вынеси вычисления из цикла.
Получалось так: ты береш значения при i = 1 и считаешь, потом берешь значения при i = 2 и заново считаешь, т.е. перезаписываешь значения. Числа и формулы такие, что выходит примерно 10 * 0.1 - 1 = 0, поэтому некоторые с были равны 0 и давало ошибку.
Терь ты сначало проходишь цикл, который записывает исходные данные при всех i, а только потом ведет расчет.
з.ы. не ругайся матом лучше)
1
 Аватар для Arigami
1 / 1 / 0
Регистрация: 23.04.2010
Сообщений: 35
13.06.2010, 01:29  [ТС]
Огромное те спасибо))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2010, 01:29

Деление нецелого числа на целое выдаёт ошибку
Получается поделить например 10:2=5 Но если я хочу поделить 0,8:2= то выдаёт ошибку,и прочитал её и попытался сам решить данную проблему...

При запуске windows выдаёт разные ошибку типо netio.sys, bad pool header, bad system config info
Всем привет форумчане! И так ближе к проблеме при установке виндовс 10 установка идёт нормально, но потом запускается виндовс и я ...

У меня выдаёт ошибку в Resources.Designer.cs
Когда я пытаюсь скомпилировать программу в которую я добавлял ресурсы Visual Studio выдаёт ошибку что в Resources.Designer.cs ошибка, что...

У меня выдаёт ошибку: [Error] invalid array assignment
#include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;numeric&gt; #include &lt;iomanip&gt; #include &lt;ctime&gt; using namespace std; main() ...

Антивирус Eset NOD32 Antivirus 10.1 не хочет обновляться хотя выдает ошибку
Добрый день. такая проблема Антивирус Eset NOD32 Antivirus 10.1 выдает ошибку о необходимости обновления баз (базы обновляются каждый...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru