Автор Тема: Помогите найти ошибки в программе  (Прочитано 3875 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн abcd

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Помогите найти ошибки в программе
« : 02 Декабря 2010, 21:36:20 »
ребят ошибку выдает в этой строке:s:=sqrt(p*(p-a)*(p-b)*(p-c));
я недопонимаю - если можете объясните, плиз!
вот собственно сама программа:

program abc;
var ab,bc,cd,da,ac,s1,s2,s,a,b,c,p:real;
procedure ploshad1;
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
end;
begin
writeln ('zadaite dlinni ka}I{doi storoni');
readln (ab,bc,cd,da,ac);
a:=ab;
b:=bc;
c:=ac;
ploshad1;
s1:=s;
a:=da;
b:=ac;
c:=cd;
ploshad1;
s2:=s;
writeln ('ploshad ABCD=',s1+s2:10:3);
readln;
end.
« Последнее редактирование: 05 Декабря 2010, 15:01:07 от Asix »

Оффлайн testtest

  • Старожил
  • ****
  • Сообщений: 376
    • Просмотр профиля
Re: Помогите найти ошибки в программе
« Ответ #1 : 03 Декабря 2010, 09:10:17 »
попробуй так:

function ploshad1(a,b,c:real):real;
var p:real;
begin
p:=(a+b+c)/2;
ploshad1:=sqrt(p*(p-a)*(p-b)*(p-c));
end;

program abc;
var ab,bc,cd,da,ac,s1,s2,s,a,b,c,p:real;
begin
writeln ('zadaite dlinni ka}I{doi storoni');
readln (ab,bc,cd,da,ac);
a:=ab;
b:=bc;
c:=ac;
s:= ploshad1(a,b,c);
s1:=s;
a:=da;
b:=ac;
c:=cd;
s:=ploshad1(a,b,c);
s2:=s;
writeln ('ploshad ABCD=',s1+s2:10:3);
readln;
end.
« Последнее редактирование: 05 Декабря 2010, 15:01:19 от Asix »