Вопрос задан 15.07.2023 в 13:14. Предмет Информатика. Спрашивает Тыщенко Ксения.

Написать программу,которая сортирует массив из N элементов по возрастанию методом “пузырька”и

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ткаченко Антон.

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.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для сортировки массива методом "пузырька" и подсчета количества перестановок в языке Pascal, вам потребуется написать соответствующую программу. Вот пример реализации:

pascal
program 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.

Программа будет сортировать массив методом "пузырька" и выводить исходный и отсортированный массивы, а также количество произведенных перестановок для каждого тестового примера. Вы можете изменить исходные данные в программе, чтобы протестировать ее на других наборах данных.

0 0

Похожие вопросы

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

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

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