Упорядочить элементы массива по возрастанию методом «пузырька» - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Задан 1-мерный целочисленный массив А, состоящий из N элементов, где N- заданное натуральное число. Упорядочить элементы массива по возрастанию методом «пузырька».

Решение задачи: «Упорядочить элементы массива по возрастанию методом «пузырька»»

textual
Листинг программы
const
  m = 100;
 
var
  i, n: byte;
  a: array[1..m] of longint;
  t: longint;
  no_swap: boolean;
 
begin
  repeat
    write('Array size, [2..', m, '];  N = ');
    readln(n)
  until n in [2..m];
  writeln('Enter elements of array:');
  for i := 1 to n do
    begin
      write('A[', i, '] = ');
      readln(a[i])
    end;
  writeln('Source array:');
  for i := 1 to n do write(' ', a[i]);
  writeln;
  repeat
    no_swap := true;
    for i := 1 to n - 1 do
      if a[i] > a[i + 1]
        then begin
          t := a[i];
          a[i] := a[i + 1];
          a[i + 1] := t;
          no_swap := false
        end
  until no_swap;
  writeln('Sorted array:');
  for i := 1 to n do write(' ', a[i]);
  readln
end.

Объяснение кода листинга программы

  1. В первой строке объявляются константа m, равная 100, и переменные i, n типа byte.
  2. Далее объявляется массив a типа array[1..m] of longint и переменная t типа longint.
  3. Переменная no_swap инициализируется значением true.
  4. В цикле repeat-until пользователю предлагается ввести размер массива от 2 до 100 и нажать Enter.
  5. Затем выводится сообщение «Введите элементы массива» и в цикле for i := 1 to n пользователю предлагается ввести элементы массива по одному и нажать Enter.
  6. Выводится сообщение «Исходный массив» и в цикле for i := 1 to n выводятся элементы массива a с пробелами между ними.
  7. Затем в цикле repeat-until выполняется сортировка массива методом пузырька. Переменная no_swap устанавливается в true.
  8. В цикле for i := 1 to n-1 выполняется сравнение элементов a[i] и a[i+1]. Если a[i] больше a[i+1], то выполняется обмен элементов a[i] и a[i+1] с помощью переменной t, и переменная no_swap устанавливается в false.
  9. Цикл повторяется до тех пор, пока переменная no_swap не станет равной true.
  10. Выводится сообщение «Отсортированный массив» и в цикле for i := 1 to n выводятся элементы массива a с пробелами между ними.
  11. Программа завершается чтением символа Enter.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы