
Написать программу,которая сортирует массив из N элементов по возрастанию методом “пузырька”и
считает при этом количество произведённых перестановок.Протестировать программу на следующих исходных данных: а) 2 5 1 6 4 10 4 2 б) 1 2 5 6 -4 11 12 в) 12 10 6 4 2 1 0 Язык программирования Pascal

Ответы на вопрос

const
n = 7;
var
a: array [1..n] of integer;
i, j, count, c: integer;
begin
count := 0;
for i := 1 to n do
readln(a[i]);
for i := 1 to n do
write(a[i]:4);
writeln;
for i := 1 to n - 1 do
for j := 1 to n - i do
if a[j] > a[j + 1] then
begin
c := a[j];
a[j] := a[j + 1];
a[j + 1] := c;
inc(count);
end;
for i := 1 to n do
write(a[i]:4);
writeln;
write('Count: ', count);
end.



Для сортировки массива методом "пузырька" и подсчета количества перестановок в языке Pascal, вам потребуется написать соответствующую программу. Вот пример реализации:
pascalprogram BubbleSort; const MAX_N = 100; type TArray = array[1..MAX_N] of Integer; var arr: TArray; N, i, j, temp, swaps: Integer; // Процедура для сортировки массива методом "пузырька" procedure BubbleSortArray(var arr: TArray; N: Integer; var swaps: Integer); begin swaps := 0; for i := 1 to N - 1 do begin for j := 1 to N - i do begin if arr[j] > arr[j + 1] then begin // Обмен элементов, чтобы отсортировать в порядке возрастания temp := arr[j]; arr[j] := arr[j + 1]; arr[j + 1] := temp; swaps := swaps + 1; end; end; end; end; // Процедура для вывода массива на экран procedure PrintArray(arr: TArray; N: Integer); var i: Integer; begin for i := 1 to N do Write(arr[i], ' '); Writeln; end; begin // Исходные данные для тестирования N := 8; // или другое значение для размера массива arr[1] := 2; arr[2] := 5; arr[3] := 1; arr[4] := 6; arr[5] := 4; arr[6] := 10; arr[7] := 4; arr[8] := 2; // Вывод исходного массива Writeln('Исходный массив:'); PrintArray(arr, N); // Сортировка массива методом "пузырька" BubbleSortArray(arr, N, swaps); // Вывод отсортированного массива и количества перестановок Writeln('Отсортированный массив:'); PrintArray(arr, N); Writeln('Количество перестановок: ', swaps); end.
Программа будет сортировать массив методом "пузырька" и выводить исходный и отсортированный массивы, а также количество произведенных перестановок для каждого тестового примера. Вы можете изменить исходные данные в программе, чтобы протестировать ее на других наборах данных.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili