Учитель написал на доске написал код процедуры сортировки на трех языках (см. рисунок), а также массив из 12 целых чисел, который надо отсортировать: 0, 10, 3, 7, 2, 6, 11, 4, 5, 8, 1, 9. Ваша задача: определить, сколько перестановок будет сделано в процессе сортировки. Одна перестановка — обмен местами двух элементов. В качестве ответа выведите одно целое число.
Представлен код на языке Python; Pascal; C++
Приложения:
![](https://st.uroker.com/files/f43/f4366b246b85aae4a5266d0728cc7dda.png)
![](https://st.uroker.com/files/aed/aed1d51285d4564d967f3e4ac483bbcc.png)
![](https://st.uroker.com/files/bc6/bc6213eb0192fae1cda07d686b54ee75.png)
Ответы
Ответ дал:
0
Переписал программу на современный паскаль, введя трассировочную выдачу.
// PascalABC.NET 3.2, сборка 1370 от 24.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var a:=Arr(0,10,3,7,2,6,11,4,5,8,1,9); a.Println; Writeln;
var k:=0;
for var i:=0 to a.Length-1 do
for var j:=0 to i-1 do
if a[j]>a[i] then begin Swap(a[i],a[j]); k+=1; a.Println end;
Writeln('Перестановок: ',k)
end.
Результаты
0 10 3 7 2 6 11 4 5 8 1 9
0 3 10 7 2 6 11 4 5 8 1 9
0 3 7 10 2 6 11 4 5 8 1 9
0 2 7 10 3 6 11 4 5 8 1 9
0 2 3 10 7 6 11 4 5 8 1 9
0 2 3 7 10 6 11 4 5 8 1 9
0 2 3 6 10 7 11 4 5 8 1 9
0 2 3 6 7 10 11 4 5 8 1 9
0 2 3 4 7 10 11 6 5 8 1 9
0 2 3 4 6 10 11 7 5 8 1 9
0 2 3 4 6 7 11 10 5 8 1 9
0 2 3 4 6 7 10 11 5 8 1 9
0 2 3 4 5 7 10 11 6 8 1 9
0 2 3 4 5 6 10 11 7 8 1 9
0 2 3 4 5 6 7 11 10 8 1 9
0 2 3 4 5 6 7 10 11 8 1 9
0 2 3 4 5 6 7 8 11 10 1 9
0 2 3 4 5 6 7 8 10 11 1 9
0 1 3 4 5 6 7 8 10 11 2 9
0 1 2 4 5 6 7 8 10 11 3 9
0 1 2 3 5 6 7 8 10 11 4 9
0 1 2 3 4 6 7 8 10 11 5 9
0 1 2 3 4 5 7 8 10 11 6 9
0 1 2 3 4 5 6 8 10 11 7 9
0 1 2 3 4 5 6 7 10 11 8 9
0 1 2 3 4 5 6 7 8 11 10 9
0 1 2 3 4 5 6 7 8 10 11 9
0 1 2 3 4 5 6 7 8 9 11 10
0 1 2 3 4 5 6 7 8 9 10 11
Перестановок: 28
// PascalABC.NET 3.2, сборка 1370 от 24.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var a:=Arr(0,10,3,7,2,6,11,4,5,8,1,9); a.Println; Writeln;
var k:=0;
for var i:=0 to a.Length-1 do
for var j:=0 to i-1 do
if a[j]>a[i] then begin Swap(a[i],a[j]); k+=1; a.Println end;
Writeln('Перестановок: ',k)
end.
Результаты
0 10 3 7 2 6 11 4 5 8 1 9
0 3 10 7 2 6 11 4 5 8 1 9
0 3 7 10 2 6 11 4 5 8 1 9
0 2 7 10 3 6 11 4 5 8 1 9
0 2 3 10 7 6 11 4 5 8 1 9
0 2 3 7 10 6 11 4 5 8 1 9
0 2 3 6 10 7 11 4 5 8 1 9
0 2 3 6 7 10 11 4 5 8 1 9
0 2 3 4 7 10 11 6 5 8 1 9
0 2 3 4 6 10 11 7 5 8 1 9
0 2 3 4 6 7 11 10 5 8 1 9
0 2 3 4 6 7 10 11 5 8 1 9
0 2 3 4 5 7 10 11 6 8 1 9
0 2 3 4 5 6 10 11 7 8 1 9
0 2 3 4 5 6 7 11 10 8 1 9
0 2 3 4 5 6 7 10 11 8 1 9
0 2 3 4 5 6 7 8 11 10 1 9
0 2 3 4 5 6 7 8 10 11 1 9
0 1 3 4 5 6 7 8 10 11 2 9
0 1 2 4 5 6 7 8 10 11 3 9
0 1 2 3 5 6 7 8 10 11 4 9
0 1 2 3 4 6 7 8 10 11 5 9
0 1 2 3 4 5 7 8 10 11 6 9
0 1 2 3 4 5 6 8 10 11 7 9
0 1 2 3 4 5 6 7 10 11 8 9
0 1 2 3 4 5 6 7 8 11 10 9
0 1 2 3 4 5 6 7 8 10 11 9
0 1 2 3 4 5 6 7 8 9 11 10
0 1 2 3 4 5 6 7 8 9 10 11
Перестановок: 28
Вас заинтересует
1 год назад
1 год назад
6 лет назад
8 лет назад
8 лет назад
9 лет назад