Задать вопрос
9 марта, 13:37

Напишите вариант метода пузырька, который заканчивает работу, если на очередном шаге внешнего цикла не было перестановок. (pascal)

+2
Ответы (1)
  1. 9 марта, 15:28
    0
    Const

    n = 10;

    var

    a: array[1 ... n] of integer;

    i, j, t: integer;

    flag:boolean;

    begin

    Randomize;

    Writeln ('Исходный массив') ;

    for i : = 1 to n do

    begin

    a[i] : = random (101) - 50;

    Write (a[i]:4)

    end;

    Writeln;

    i:=1;

    repeat

    flag:=true;

    for j : = 1 to n-i do

    if a[j] > a[j+1] then

    begin t : = a[j]; a[j] : = a[j+1]; a[j+1] : = t; flag:=false end;

    Inc (i) ;

    until (i>n-1) or flag;

    Writeln ('Отсортированный по возрастанию массив') ;

    for i : = 1 to n do Write (a[i]:4) ;

    Writeln

    end.

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

    Исходный массив

    -32 - 7 2 2 50 - 33 1 31 4 - 16

    Отсортированный по возрастанию массив

    -33 - 32 - 16 - 7 1 2 2 4 31 50
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Напишите вариант метода пузырька, который заканчивает работу, если на очередном шаге внешнего цикла не было перестановок. (pascal) ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Сколько раз будет выполнено тело цикла? А. for i:=-5to5 do тело цикла; В. for i:=6 to 2 do тело цикла; С. for i: = 3to 3 do тло цикла; D. for i:=3 downto 4 do тело цикла E. for i : = 3 downto 1 do тело цикла
Ответы (1)
Рассмотрим последовательность из нулей и единиц, которая генерируется по следующему правилу. Исходно она состоит из одной единицы (1), На каждом следующем шаге к ней приписывается справа последовательность с предыдущего шага, в которой все нули
Ответы (1)
Для чего используются команды цикла? Как записывается команда цикла FOR? Как в цикле записать команду присваивания, чтобы она вычисляла сумму чисел? Количество?
Ответы (2)
Артём записывает на доске последовательности чисел. На первом шаге он написал число 3. Затем стер его и записал 1 3 (что означает "одна тройка", то есть, записал описание стертой последовательности).
Ответы (1)
Мистер Фокс записывает на доске последовательности чисел. На первом шаге он написал число 3. Затем стер его и записал 1 3 (что означает "одна тройка", то есть, записал описание стертой последовательности).
Ответы (1)