Pascal\Вводятся 4 числа. Нужно вывести их в порядке убывания. При любых входных данных алгоритм должен выполнять не более пяти операций сравнения. Решения с большим количеством сравнений не оцениваются. Оператор вывода во всём тексте алгоритма должен быть единственный.
var a, b, c, d: integer; begin readln(a, b, c, d); if a < b then begin if b < c then begin if c < d then writeln(d, c, b, a) else begin if d > b then writeln(c, d, b, a) else writeln(c, b, d, a); end; end else begin if b < d then writeln(c, b, d, a) else begin if c > d then writeln(c, b, d, a) else writeln(b, c, d, a); end; end; end else begin if a < c then begin if c < d then writeln(d, c, a, b) else // c > d begin if a > d then writeln(c, d, a, b) else writeln(c, a, d, b); end; end else begin if a < d then writeln(c, a, d, b) else begin if c > d then writeln(c, a, d, b) else writeln(a, c, d, b); end; end; end; end.
Программа на языке Pascal:
vara, b, c, d: integer;
begin
readln(a, b, c, d);
if a < b then
begin
if b < c then
begin
if c < d then
writeln(d, c, b, a)
else
begin
if d > b then
writeln(c, d, b, a)
else
writeln(c, b, d, a);
end;
end
else
begin
if b < d then
writeln(c, b, d, a)
else
begin
if c > d then
writeln(c, b, d, a)
else
writeln(b, c, d, a);
end;
end;
end
else
begin
if a < c then
begin
if c < d then
writeln(d, c, a, b)
else // c > d
begin
if a > d then
writeln(c, d, a, b)
else
writeln(c, a, d, b);
end;
end
else
begin
if a < d then
writeln(c, a, d, b)
else
begin
if c > d then
writeln(c, a, d, b)
else
writeln(a, c, d, b);
end;
end;
end;
end.