Rownanie

0

Procedura wydlaga tak:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c,x1,x2,delta: integer;
begin
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
c:=strtoint(edit3.text);
delta:=bb-4ac;
x1:=((-b)-sqrt(delta))/2
a;
x2:=((-b)+sqrt(delta))/2*a;
edit4.text:=inttostr(x1);
edit5.text:=inttostr(x2);

end;

Błąd przy x1 i x2 tak:

Incompatyble types integer and extended

HELP!

0

Zamiast / daj Div.

Czas rozwiązywania: 2 sekundy.

0

Miałem ten sam problem - ustaw tyby zmiennych na Float i funkcje:

a := StrtoFloat(Edit1.text);
to samo z "b" i "c"

a następnie po obliczeniu x1 i x2

Edit4.text := FloattoStr(x1);
i to samo z x2

A tak od siebie - co w przypadku delty równej lub mniejszej od zera? Tu tez może być problem, jeśli delta jest mniejsza od zera to nie wyciągniemy z niej pierwiastka, a także sqrt(delta) nie zawsze jest liczba całkowitą (Integer), stąd moja powyższa rada. U mnie ten program sprawdza delte i od tego uzależnia swoje działanie (jeden pierwiastek, dwa pierwiastki, brak pierwiastków równania).

1 użytkowników online, w tym zalogowanych: 0, gości: 1