решить задачу по информатике. У меня получается ответ 350, но в ответах к заданию стоит - 3, т.е. они говорят, что 400 байт нужно. Мне кажется они не подумали, что 7 байт достаточно для хранения 55 бит.
Добрый день! К сожалению я не работаю с C++, но если это то вот эта задача в Pascal VAR a,b,c,d:REAL; PROCEDURE Print_S(x,y,z:REAL); VAR p,S:REAL; begin If ((x+y)>z) and ((x+z)>y) and ((y+z)>x) then begin p:=x+y+z; S:=SQRT(p*(p-x)*(p-y)*(p-z)); WriteLn('S= ',S); end else Writeln('Треугольник не существует!'); end; BEGIN Write('a= '); ReadLn(a); Write('b= '); ReadLn(b); Write('c= '); ReadLn(c); Write('d= '); ReadLn(d); WriteLn; WriteLn('Стороны ',a,'; ',b,'; ',c); Print_S(a,b,c); WriteLn; WriteLn('Стороны ',a,'; ',b,'; ',d); Print_S(a,b,d); WriteLn; WriteLn('Стороны ',a,'; ',c,'; ',d); Print_S(a,c,d); WriteLn; WriteLn('Стороны ',b,'; ',c,'; ',d); Print_S(b,c,d); END.
В таком виде программа, хотя бы запустится: program i_2; const c=2; f=4; g=6; var r,p: real; begin writeln('определение площади треугольника по теореми Герона'); write('нахождение площади'); readln(r); p:=(c+f+g)/2; r:=sqrt(p*(p-c)*(p-f)*(p-g)) end.
Но есть куча вопросов: 1) Если c, f, g - стороны треугольника, то что такое - r ? 2) Если r - это площадь, то как мы можем её ввести, если мы хотим её сосчитать? 3) Где вывод полученной информации (writeln(r))? 4) Треугольника со сторонами c=2, f=4 и g=6 существовать не может
Предлагаю отказаться от экзотических обозначений и сделать проверку на существование треугольника, а также добавить получение данных по сторонам от пользователя: program i_2; var a,b,c,p,s: real; begin writeln('Определение площади треугольника по теореме Герона'); write('Введите стороны треугольника: '); readln(a,b,c); if (a + b <= c) or (b + c <= a) or (a + c <= b) then writeln ('Треугольника с такими сторонами не существует') else begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln('Площадь треугольника равна ',s:0:3) end end.
VAR a,b,c,d:REAL;
PROCEDURE Print_S(x,y,z:REAL);
VAR p,S:REAL;
begin If ((x+y)>z) and ((x+z)>y) and ((y+z)>x) then
begin
p:=x+y+z;
S:=SQRT(p*(p-x)*(p-y)*(p-z));
WriteLn('S= ',S);
end
else
Writeln('Треугольник не существует!');
end;
BEGIN Write('a= ');
ReadLn(a);
Write('b= ');
ReadLn(b);
Write('c= ');
ReadLn(c);
Write('d= ');
ReadLn(d);
WriteLn;
WriteLn('Стороны ',a,'; ',b,'; ',c);
Print_S(a,b,c);
WriteLn;
WriteLn('Стороны ',a,'; ',b,'; ',d);
Print_S(a,b,d);
WriteLn;
WriteLn('Стороны ',a,'; ',c,'; ',d);
Print_S(a,c,d);
WriteLn;
WriteLn('Стороны ',b,'; ',c,'; ',d);
Print_S(b,c,d);
END.