Pascal ABC Напишите программу, которая находит три наименьших элемента массива и...

0 голосов
653 просмотров

Pascal ABC

Напишите программу, которая находит три наименьших элемента массива и переставляет их в начало массива. Остальные элементы должны следовать далее в том же порядке.

Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .

Выходные данные
Программа должна вывести элементы полученного массива в одной строке, разделив их пробелами.


Примеры
входные данные
6
6 2 1 5 3 4
выходные данные
1 2 3 6 5 4


Информатика (96 баллов) | 653 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
 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.

(8.5k баллов)