D
DolWeb
Компилятор выдаёт ошибку на отмеченой строке
Код:
Ошибка:
Тут разобрался:
Кароче объясните, почему функция, которая выше выдаёт не правильный результат, а эта выдаёт правильный:
Код:
Код:
#include <math.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double a,b,c;
a=Edit1->Text.ToDouble();
b=Edit2->Text.ToDouble();
c=Edit3->Text.ToDouble();
int d=b*b+4ac; // Пишет, что ошибка тут
if(d<0)
{
Panel1->Caption="Корней нет!";
return;
};
double x1=(-b+sqrt(d))/(2*a);
double x2=(-b-sqrt(d))/(2*a);
Panel1->Caption=String(x1)+";\r\n "+String(x2);
}
Ошибка:
[BCC32 Error] Unit1.cpp(24): E2060 Illegal use of floating point
[BCC32 Error] Unit1.cpp(24): E2141 Declaration syntax error
[BCC32 Warning] Unit1.cpp(33): W8004 'c' is assigned a value that is never used
Тут разобрался:
Код:
int d=b*b+4*a*c;
Кароче объясните, почему функция, которая выше выдаёт не правильный результат, а эта выдаёт правильный:
Код:
#include <math.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double a,b,c;
a=Edit1->Text.ToDouble();
b=Edit2->Text.ToDouble();
c=Edit3->Text.ToDouble();
int k=b/2;
int d=k*k-a*c;
if(d<0)
{
Label6->Caption="Корней нет!";
return;
};
double x1=(-k+sqrt(d))/a;
double x2=(-k-sqrt(d))/a;
Label6->Caption=String(x1)+"\r\n"+String(x2);
}