Другие языки программирования и технологии

Помогите с кодом delphi

Если сумма трех попарно различных действительных чисел х, у, z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других; в противном случае заменить меньшее из х и у полусуммой двух оставшихся значений.
Вот пример кода на Delphi, который реализует алгоритм, описанный вами:

go
Copy code
program ReplaceSmallest;

var
x, y, z: real;

begin
// считываем три числа
writeln('Введите три числа:');
readln(x, y, z);

// проверяем, что сумма чисел меньше одного
if (x + y + z) < 1 then
begin
// заменяем наименьшее число на полусумму двух других чисел
if (x < y) and (x < z) then
x := (y + z) / 2
else if (y < x) and (y < z) then
y := (x + z) / 2
else
z := (x + y) / 2;
end
else
begin
// заменяем меньшее из x и y на полусумму двух других чисел
if x < y then
x := (y + z) / 2
else
y := (x + z) / 2;
end;

// выводим обновленные значения
writeln('Обновленные значения:');
writeln(x, ' ', y, ' ', z);
end.


Программа считывает три вещественных числа от пользователя, проверяет, что их сумма меньше одного, а затем заменяет наименьшее число на полусумму двух других (если сумма меньше одного) или заменяет меньшее из x и y на полусумму двух других чисел (если сумма больше или равна одному). Наконец, программа выводит обновленные значения.
Nurik ....
Nurik ....
4 095
Лучший ответ
Фурхат Джумабаев У меня вывод на лейбл идёт а не writeln
Nurik .... // проверяем, что сумма чисел меньше одного

if (x + y + z) < 1 then

begin

// заменяем наименьшее число на полусумму двух других чисел

if (x < y) and (x < z) then

begin

temp := (y + z) / 2;

x := temp;

end

else if (y < x) and (y < z) then

begin

temp := (x + z) / 2;

y := temp;

end

else

begin

temp := (x + y) / 2;

z := temp;

end;

end

else

begin

// заменяем меньшее из x и y на полусумму двух других чисел
Nurik .... if x < y then



begin



temp := (y + z) / 2;



x := temp;



end



else



begin



temp := (x + z) / 2;



y := temp;



end;



end;







// выводим обновленные значения на лейбл



Label1.Caption := 'Обновленные значения: ' + FloatToStr(x) + ' ' + FloatToStr(y) + ' ' + FloatToStr(z);



end;
Код на Delphi для решения данной задачи может выглядеть следующим образом:
 procedure ReplaceNumbers(var x, y, z: Double); 
var
sum: Double;
begin
sum := x + y + z;
if sum < 1 then
begin
if x
Фурхат Джумабаев Мне в конце кода замену нужно.
У меня вывод идёт на 3 лейбла но нужно что бы заменяло