Var n, i, min, max, min_i, max_i, tmp: integer; a:array[1..100] of integer; begin readln(n); for i := 1 to n do read(a[i]); min := a[1]; max := a[1]; min_i := 1; {номер минимального} max_i := 1; for i := 2 to n do begin if min > a[i] then begin min := a[i]; min_i := i; end; if max < a[i] then begin max := a[i]; max_i := i; end; end; tmp := a[max_i]; a[max_i] := a[min_i]; a[min_i] := tmp; for i := 1 to n do write(a[i], ' '); end.
Вариантов масса. первое что приходит на ум взято из "похождения бравого солдата швейка" если не ошибаюсь. там в свою очередь этот упоминался как шифрование данных при передаче приказов в войне с наполеоном. суть - командующие перед выступлением договаривались какую книгу использовать(например войну и мир, естественно одного и того издания(конечно же войну и мир при наполеоне еше никто не написал, возьми другую, сча даже лень придумывать)). когда командующие уже разъехались по местам дисколации им высылали шифры, состоящие сплошь из цифр. а цифры в свою очередь это номера страниц и слов в той книге, про которую изначально договорились. таким образом, даже если гонца перехватят, враги получат только набор цифр, не зная книги ключа не возможно понять смысл шифра.
begin
readln(n);
for i := 1 to n do
read(a[i]);
min := a[1];
max := a[1];
min_i := 1; {номер минимального}
max_i := 1;
for i := 2 to n do
begin
if min > a[i] then
begin
min := a[i];
min_i := i;
end;
if max < a[i] then
begin
max := a[i];
max_i := i;
end;
end;
tmp := a[max_i];
a[max_i] := a[min_i];
a[min_i] := tmp;
for i := 1 to n do
write(a[i], ' ');
end.