Mi a hiba ebben a FreePascal kódban?
Amint látjátok, három szám alapján kiszámítania, hogy megszerkeszthető-e a háromszög.
Előre is kösz!
program beadando;
uses crt;
var a,b,c:integer;
begin
WriteLn('A következő program kiszámítja, hogy a háromszög megszerkeszthető-e.');
Delay(3000);
WriteLn('"A" oldal: ');
ReadLn(a);
WriteLn('"B" oldal: ');
ReadLn(b);
WriteLn('"C" oldal: ');
ReadLn(c);
if a+b<c or b+c<a or a+c<b then
WriteLn('A háromszög nem megszerkeszthető.');
else if a+b=c or b+c=a or a+c=b then
WriteLn('A háromszög nem megszerkeszthető, szakasz lesz.');
else
WriteLn('A háromszög megszerkeszthető.');
end.
Szerintem midnenki hálás lenne, hogyha megmondanád, mi a probléma.
Esetleg fordítási hiba? Enélkül át se olvasom, mert felesleges.
Failed to compile.
(20,7)Error: Incompatible types: got "Boolean" expected "LongInt"
(23,1)Fatal: Syntax error, ";" expected but "ELSE" found
(0)Fatal: Compilation aborted
Ha minden igaz, ez a 20. sor:
if a+b<c or b+c<a or a+c<b then
Azt íjra erre, hogy boolean-t (logikai értéket) kap, mikor ő longint-et (egészt) vár. Arra tudok gondolni, hogy be kéne zárójelezni az összeadásokat.
A második hibaüzenet (igaz nyakatekert módon) arra utal, hogy else elé nem kell ';':
http://www.tutorialspoint.com/pascal/pascal_if_then_else_statement.htm
Igen, erre időközben rájöttem, a zárójelezésre.
Most viszont az a gond, hogy a végén néha kiír kettő lehetőséget is, azt, hogy megszerkeszthető is meg nem is.
Ezzel mi legyen?
Az fura... nem kéne neki... :D
Mutizd újra az utsó ReadLn utáni részt lécci.
Sikerült :D
Leesett, hogy mik a háromszög szerkeszthetőségi szabályai, aztán ez lett a végeredmény, ami működőképes:
program beadando;
var a,b,c:integer;
begin
Write('Első oldal: ');
ReadLn(a);
Write('Második oldal: ');
ReadLn(b);
Write('Harmadik oldal: ');
ReadLn(c);
if (a+b>c) and (b+c>a) and (a+c>b) then
Write('A háromszög megszerkeszthető.')
else
Write('A háromszög nem megszerkeszthető.');
ReadLn;
end.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!