Рассмотрим массив целых чисел a1, a2, …, an. Пусть требуется представить элементы этого массива так, чтобы после перестановки они были упорядочены по неубыванию: a1<=a2<= …<=an - Pascal(Паскаль)

Эта задача называется задачей сортировки или упорядочения массива (эту же задачу можно рассмотреть применительно к упорядочению по невозрастанию:a1>=a2>= …>=an ; если числа попарно различны,то можно говорить об убывании и о возрастании).Для решения этой задачи нужно воспользоваться этим алгоритмом:
Просматривать последовательность a2, …, an и каждый новый элемент ai вставлять на подходящее место в уже упорядоченную совокупность a1, a2, …, ai-1 . Это место определяется последовательным сравнением ai с упорядоченными элементами a1, a2, …, ai-1.(Сортировка простыми вставками).

program Ins;
var
  mass:array [1..100] of real;
  i, j, n: integer;
  x: real;
begin
  read(n);
  for i:=1 to n do
    read(mass[i]);

  for i := 2 to n do
    begin
      x := mass[i];
      j := i-1;
      while (j>0) and (x<mass[j]) do
        begin
          mass[j+1] := mass[j];
          j := j-1;
        end;
      mass[j+1] := x;
    end;
  for i:=1 to n do
    write(mass[i]:8:2);
end.

Leave a Comment

13 − = 4