1) для 2,5 выведет 7
2) для 0,-2 выведет 0
Я комментарием пометил ошибку
type point=record
x,y:real;
end;
var a:array[1..3] of point;
i,j: integer;
z: point;
c: real;
begin
writeln('Координаты вершин');
readln(a[1].x,a[1].y,a[2].x,a[2].y,a[3].x,a[3].y);
//отсортируем по убыванию y
for i:=1 to 2 do
for j:=i+1 to 3 do
if a[i].y>a[j].y then
begin
z:=a[j];
a[j]:=a[i];
a[i]:=z;
end;
//выбираем первую точку
if a[2].x a[2].x then // Ошибка, здесь ничего не сравнивается
begin
z:=a[3];
a[3]:=a[2];
a[2]:=z;
end;
for i:=1 to 3 do begin
c:=sqrt(a[i].x*a[i].x + a[i].y*a[i].y);
writeln ('Расстояние от начала координат',' ',c);
end;
readln
end.
Поделитесь своими знаниями, ответьте на вопрос:
Что получится в результате работы следующего алгоритма, если 1) a=2, b=5, 2) a=0, b=-2 алг пример цел a, b, c нач ввод a, b если a> 0 то если b> 0 то c: =a+b иначе c: =10 кв иначе если b> 0 то c: =a*b иначе c: =0 кв кв вывод c кон
1) если а> 0 и b> 0, то с=а+b=2+5=7
2) если a> 0 не выполняется и b> 0 не выполняется, то с=0