Спрограммой по информатике! ( задана последовательность целых чисел(ввод с клавиатуры),количество которых не превосходит 100.требуется расположить элементы последовательности в возрастающем порядке.

IG77 IG77    1   12.06.2019 07:30    0

Ответы
akot2005 akot2005  02.10.2020 00:29
Const
  nm = 100;{максимальная длина массива}

var
  i, j, n, step, t: integer;
  a: array[1..nm] of integer;

begin
  Write('Введите количество элементов в массиве: ');
  Readln(n);
  Write('Введите элементы массива через пробел ');
  for i := 1 to n do Read(a[i]);
  { сортировка методом Шелла }
  step := n div 2;
  while step > 0 do
  begin
    for j := n - step downto 1 do
    begin
      i := j;
      while i <= n - step do
      begin
        if a[i] > a[i + step] then begin
          t := a[i]; a[i] := a[i + step]; a[i + step] := t
        end;
        i := i + step
      end
    end;
    step := step div 2
  end;
  Writeln('*** Отсортированный массив ***');
  for i := 1 to n do Write(a[i], ' ')
end.

Тестовое решение:

Введите количество элементов в массиве: 15
Введите элементы массива через пробел 15 26 -35 7 0 21 5 9 27 0 -11 26 4 42 -23
*** Отсортированный массив ***
-35 -23 -11 0 0 4 5 7 9 15 21 26 26 27 42
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика