Pascal ABC
Напишите программу, которая находит три наименьших элемента массива и переставляет их в начало массива. Остальные элементы должны следовать далее в том же порядке.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
Программа должна вывести элементы полученного массива в одной строке, разделив их пробелами.
Примеры
входные данные
6
6 2 1 5 3 4
выходные данные
1 2 3 6 5 4
Answers & Comments
a: array [1..10000] of integer;
i,j,k,m,n:integer;
begin
read(n);
for i := 1 to n do
read(a[i]);
for i := 1 to 3 do
begin
m := a[i];
k := i;
for j := i+1 to n do
if a[j] < m then
begin
m := a[j];
k := j
end;
for j := k downto i+1 do
a[j] := a[j-1];
a[i] := m
end;
for i := 1 to n do
write(a[i],' ')
end.