Написать программу, которая сортирует массив из N элементов по убыванию методом «пузырька» и считает при этом количество произведённых перестановок. Протестировать программу на следующих исходных данных:
а) 2 5 1 6 4 10 4 2
б) 1 2 5 6 -4 0 11 12
в) 12 10 6 4 2 1 0
Язык программирования Pascal
ответ:
объяснение:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const n=23; m=40; //n-ряды, m-места
var
a: array[1..n,1..m] of integer; //зрительный зал
i,j,k: integer;
begin
randomize;
writeln('зрительный зал: ');
write('м/р');
for i: =1 to m do write(i: 3);
writeln;
for i: =1 to n do begin
write(i: 3);
for j: =1 to m do begin
a[i,j]: =ord(random(10)> 0); write(a[i,j]: 3); //read(a[i,j]); я ввожу гадалкой, т.к. руками вбивать 920 цифирь не входит в мое понятие героизма
end;
writeln;
end;
repeat
write('в каком ряду смотреть свободные места? ');
readln(i);
until (i> 0) and (i
k: =0;
for j: =1 to m do k: =k+ord(a[i,j]=0); //cчитаем свободные места
write('в ряду ',i);
if k> 0 then writeln(' есть свободные места в количестве ',k,' шт.') else
writeln(' свободных мест нет');
end.