Задать вопрос
18 июня, 02:08

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

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

+1
Ответы (2)
  1. 18 июня, 02:30
    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
  2. 18 июня, 03:42
    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.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Отсортировать массив по не убыванию методом сортировки Шелла (Pascal, и элемениы массива нужно ввести вручную) хелп ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы
Похожие вопросы по информатике
Pascal! Ввести массив А[1 ... 10]. Отсортировать по убыванию элементы массива А любым методом. Вывести на экран в два столбца, стоящих рядом, исходный и отсортированный массивы, элементы вывести через точку с запятой.
Ответы (1)
Дан массив целых чисел в диапазоне от - 30000 до 30000. Отсортировать его по убыванию. Методом простого выбора. Формат ввода: В первой строке - количество элементов массива не превосходящее 100. На второй строке через пробел элементы массива.
Ответы (1)
В записи m[7]=9 m обозначает 1) имя массива 2) имя элемента массива 3) номер элемента массива 4) значение элемента массива в записи m[7]=
Ответы (1)
Заполнить массив случайными числами и отсортировать его. Ввести число X. Используя двоичный поиск, определить, сколько чисел, равных X, находится в массиве.
Ответы (1)
Pascal! В одномерном массиве размерностью n=10 отсортировать по возрастанию четные элементы массива. Вывести исходный и измененный массив. Можно использовать любой метод сортировки.
Ответы (1)