Задать вопрос
28 марта, 04:35

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

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

+1
Ответы (2)
  1. 28 марта, 06:14
    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. 28 марта, 07:54
    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, и элемениы массива нужно ввести вручную) хелп ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы