Выполнить переворот или сортировку массива с помощью процедур(pascal abc).

Выполнить переворот или сортировку массива с помощью процедур(pascal abc).
Гость
Ответ(ы) на вопрос:
Гость
const   nm = 100; type   Mas = array[1..nm] of integer; procedure Shell(var a: Mas; n: integer); { сортировка методом Шелла } var   i, j, step, t: integer; begin   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 + 1];           a[i + 1] := t         end;         i := i + step       end     end;     step := step div 2   end end; var   x: Mas;   i, n: integer; begin   Randomize;   Write('Введите число элементов в массиве (1-100): ');   Readln(n);   Writeln('Исходный массив');   for i := 1 to n do   begin     x[i] := Random(101) - 50;     Write(x[i]:4)   end;   Shell(x, n);   Writeln(#13#10, 'Отсортированный массив');   for i := 1 to n do Write(x[i]:4) end. Тестовое решение: Введите число элементов в массиве (1-100): 20 Исходный массив   -8 -17 -19   1  -3  23 -33  30 -27 -45  12  26 -24  18  37   8  47 -14 -19  -3 Отсортированный массив  -45 -33 -27 -24 -19 -19 -17 -14  -8  -3  -3   1   8  12  18  23  26  30  37  47
Не нашли ответ?
Ответить на вопрос
Похожие вопросы