FamouZ
Новичок
|
Определить, существует ли треугольник с заданными целочисленными длинами сторон а, в, с. Если да, то определить тип треугольника - остроугольный, тупоугольный или прямоугольный. А вот та кодировка которую я составил, но в чём-то присутствует ошибка, когда я ввожу стороны любые какие я бы не ввёл, выдаёт сообщение об ошибки или же что треугольник не существует...помогите разобраться program treygolnichek; var x,y,z,m,n,p,x1,x2,y1,y2,l1,l2,l3,c:real; begin write ('x= ');readln (x); write ('y= ');readln (y); write ('z= ');readln (z); write ('m= ');readln (m); write ('n= ');readln (n); write ('p= ');readln (p); if (x>0) and (y>0) and (z>0) then begin if (x+y>=z) and (x+z>=y) and (y+z>=x) then begin l1:=sqrt(sqr((x1-x2))+(sqr(y1-y2))); l2:=sqrt(sqr((x1-x2))+(sqr(y1-y2))); l3:=sqrt(sqr((x1-x2))+(sqr(y1-y2))); c:=(sqr(l1)+sqr(l2)-sqr(l3))/(2*l1*l2);{cosinus naibolshego ygla} if abs(c)<1e-10 then writeln('treugolnik pryamougolnyj') else if c>0 then writeln('treugolnik ostrougolnyj') {ECJIu cos>0, To ygol Menbshe 90 gradusov} else if c<0 then writeln('treugolnik tupougolnyj');{boJIshe 90 gradusov} readln; end else writeln('Treygolnik ne sushestvuet"'); end else writeln('Treygolnik ne sushestvuet'); end. (Сообщение отредактировал FamouZ 29 нояб. 2010 19:31)
|
Всего сообщений: 1 | Присоединился: ноябрь 2010 | Отправлено: 29 нояб. 2010 12:30 | IP
|
|
paradise
Долгожитель
|
program treygolnichek; var x,y,z,mx,mn,c,sr:real; begin cls; // считываем длины сторон write ('x= ');readln (x); write ('y= ');readln (y); write ('z= ');readln (z); // проверяем их на положительность if (x>0) and (y>0) and (z>0) then begin if (x+y<=z) or (x+z<=y) or (y+z<=x) then begin writeln('Треугольник не существет); end else begin mx:=x; // находим наибольшую сторону if y>mx then mx:=y; if z>mx then mx:=z; mn:=x; // находим наименьшую сторону if y<mn then mn:=y; if z<mn then mn:=z; sr:=x+y+z-mx-mn; // находим оставшуюся сторону c:=(mn*mn+sr*sr-mx*mx)/(2*mn*sr); // cos наибольшего угла if abs(c)<1e-10 then writeln('Треугольник прямоугольный') else if c>0 then writeln('Треугольник остроугольный') // если cos>0, то угол меньше 90 else if c<0 then writeln('Треугольник тупоугольный'); // больше 90 end; end; end. Что касается написанной Вами программы, что такое m,n,p? Далее вы вычисляете длины сторон, например: >>> l1:=sqrt(sqr((x1-x2))+(sqr(y1-y2))); но не определив ранее x1, x2, y1, y2
|
Всего сообщений: 428 | Присоединился: ноябрь 2008 | Отправлено: 4 дек. 2010 12:18 | IP
|
|
paradise
Долгожитель
|
В следующий раз задавайте Ваши вопросы в соответствующей теме.
|
Всего сообщений: 428 | Присоединился: ноябрь 2008 | Отправлено: 4 дек. 2010 12:19 | IP
|
|
|