Предмет: Информатика, автор: nioba777

Добавьте, пожалуйста, что-то к этой программе, чтоб она сортировала четыре числа в порядке убывания.

var a, b, c, t: integer;
begin
readln(a, b, c);
if (a < b) then
begin
t := a;
a := b;
b := t;
end;
if (b < c) then
begin
t := b;
b := c;
c := t;
end;
if (a < b) then
begin
t := a;
a := b;
b := t;
end;
writeln(a, ' ', b, ' ', c);
end.

Ответы

Автор ответа: Helper211
1

Ответ:

"swap(x,y)" эквивалентно следующему коду:

begin

t := x;

x := y;

y := t;

end;

Можно использовать функцию swap, чтобы не получалось слишком громоздко.

var a, b, c, d, t: integer;

begin

readln(a, b, c, d);

if (b>a) then swap(a,b);

if (c>a) then swap(c,a);

if (d>a) then swap(d,a);

if (c>b) then swap(c,b);

if (d>b) then swap(d,b);

if (d>c) then swap(d,c);

writeln(a, ' ', b, ' ', c, ' ', d);

end.


nioba777: К сожалению, программа не работает (
Helper211: Тогда замените все вызовы функции swap на фрагмент, представленный в начале ответа. Не забудьте x и y заменить на соответствующие переменные, указанные в решении.
Helper211: Например:
"swap(d,c);" заменится на "begin
t := d;
d := c;
c := t;
end;"
"swap(c,b);" заменится на "begin
t := c;
c := b;
b := t;
end;"
nioba777: СПАСИБО ❤
Похожие вопросы