Вопрос задан 19.01.2019 в 06:24. Предмет Информатика. Спрашивает Смирнов Евгений.

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

не было перестановок. (pascal)
0 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


0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос