Добавьте, пожалуйста, что-то к этой программе, чтоб она сортировала четыре числа в порядке убывания.
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
0
Ответ:
"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
0
К сожалению, программа не работает (
Ответил Helper211
0
Тогда замените все вызовы функции swap на фрагмент, представленный в начале ответа. Не забудьте x и y заменить на соответствующие переменные, указанные в решении.
Ответил Helper211
0
Например:
"swap(d,c);" заменится на "begin
t := d;
d := c;
c := t;
end;"
"swap(c,b);" заменится на "begin
t := c;
c := b;
b := t;
end;"
"swap(d,c);" заменится на "begin
t := d;
d := c;
c := t;
end;"
"swap(c,b);" заменится на "begin
t := c;
c := b;
b := t;
end;"
Новые вопросы
Русский язык,
2 года назад
Английский язык,
2 года назад
Информатика,
7 лет назад
Биология,
7 лет назад
Алгебра,
9 лет назад
Биология,
9 лет назад