Задать вопрос
31 октября, 18:04

Отсортировать массив по не убыванию методом сортировки Шелла

(Pascal, и элемениы массива нужно ввести вручную) хелп

+1
Ответы (2)
  1. 31 октября, 18:57
    0
    Ну что то типо этого

    var j, i, k, n:integer; m:array[1 ... 1000] of integer; begin read (n, k); / / Ввод элементов массива for i:=1 to n do read (m[i]); / / Сортировка по возрастанию for i:=1 to k do for j:=i to k do if m[j]m[i] then swap (m[i], m[j]); / / Вывод элементов массива for i:=1 to n do print (m[i]); end.
  2. 31 октября, 19:44
    0
    Program SortByShell;

    const

    nn=100; / / максимальное количество элементов в массиве

    type

    Mas=array[1 ... nn] of integer;

    procedure SortShell (n:integer; var a:Mas);

    var

    i, d, t:integer;

    k:boolean;

    begin

    d:=n div 2; / / начальный шаг сортировки

    while d>0 do begin

    k:=true;

    while k do begin

    k:=false;

    for i:=1 to n-d do begin

    if (a[i]>a[i+d]) then begin

    t:=a[i]; a[i]:=a[i+d]; a[i+d]:=t;

    k:=true

    end

    end

    end;

    d:=d div 2

    end

    end;

    var

    i, n:integer;

    v:Mas;

    begin

    Write ('n='); Read (n);

    Writeln ('Вводите элементы массива');

    for i:=1 to n do Read (v[i]);

    SortShell (n, v);

    for i:=1 to n do Write (v[i],' ');

    Writeln

    end.

    Пример

    n=15

    Вводите элементы массива

    -10 - 7 4 - 12 - 26 4 34 - 29 7 - 28 13 - 10 44 0 - 46

    -46 - 29 - 28 - 26 - 12 - 10 - 10 - 7 0 4 4 7 13 34 44
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «Отсортировать массив по не убыванию методом сортировки Шелла (Pascal, и элемениы массива нужно ввести вручную) хелп ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы