Haromszog Pascalban?
Sziasztok adott a kovetkezo problemam , megirtam a programot de nem tudom hol lehet a gond.Kerlek segitsetek.
program feladat1;
var a,b,c:integer;
begin
write('Kerlek adj meg 3 szamot:');
write(a);
readln(a);
write(b);
readln(b);
write(c);
readln(c);
if a> b+c or b> a+b or c> a+b and a>0 and b> 0 and c> 0 then writeln('Az alatalad megadott 3 szam alkothat egy haromszog oldalinak a hosszat');
else if sqr(a)=aqr(b)-sqr(c) or sqr(b)=sqr(a)-sqr(c) or sqr(c)=sqr(a)-sqr(b) and a=b or b=c or c=b then writeln('A haromszog egyenlo szaru derekszogu)
else writeln('a haromszog derekszogu')
if a=b or b=c or c=a then writeln('A haromszog egyenlo szaru')
else writeln('Egyenlo oldalu)
if a=b=c then writeln('egyenlo oldalu')
else write('altalanos')
end.
pl:
writeln('A haromszog egyenlo szaru
derekszogu)
itt kimaradt az aposztrof
Hát igen, hol pontosvesszőt teszel az else ág elé, hol meg utána nem...
Ja, meg alkothatJA.
Szia.
Akkor nézzük :
1. Minek kiirni az oldalt amikor utánna ugyis bekéred és ezáltal felüliratod (kiirsz egy random számot) :
write(a);
readln(a);
write(b);
readln(b);
write(c);
readln(c);
A writeln-es sorok mind feleslegesek szerintem.
2. Ha tudjuk 3 oldalának a hosszát: ez akkor lehetséges, ha bármelyik két oldal hosszának az összege nagyobb, mint a harmadik oldal hossza.
Forrás : [link]
Tehát nem or, hanem and és elvileg zárójelezni kell a logokai kifejezéseket illetve nem jó egy összehasonlitás : a>b+c ez ok, b>a+b szerintem ehelyett b>a+c, és c>a+b ez megint ok. :
if a> b+c or b> a+b or c> a+b and a>0 and b> 0 and c> 0 then writeln('Az alatalad megadott 3 szam alkothat egy haromszog oldalinak a hosszat');
Szerintem :
if (a>b+c) and (b>a+c) and (c>a+b) and (a>0) and (b>0) and (c>0) then writeln('Az alatalad megadott 3 szam alkothat egy haromszog oldalinak a hosszat');
3. sqr függvény helyett jobb lenne az egyszerű szorzást használni : c*c=a*a+b*b (pitagorasz)
4. Az if -eket begin endbe kellene rakni, hogy jobban elkülönöljön, azt hogy mit is szeretnél :
if (a>b+c) and (b>a+c) and (c>a+b) and (a>0) and (b>0) and (c>0) then begin
writeln('Az alatalad megadott 3 szam alkothat egy haromszog oldalinak a hosszat');
end
else begin
...
...
end ;
Talán ennyi, nézd meg még ezt :
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
Sok sikert.
Üdv.
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!