4
Объяснение:
фрагмент кода меняет соседние элементы массива, если предыдущий меньше последующего и считает кол-во этих перестановок
Исходный
8 9 5 3 2 8 4 2 1 9 d := 0 ( 8 < 9)
1) 9 8 5 3 2 8 4 2 1 9 d := 1 (8 !< 5)
2) 9 8 5 3 2 8 4 2 1 9 d := 1 (5 !< 3)
3) 9 8 5 3 2 8 4 2 1 9 d := 1 (3 !< 2)
4) 9 8 5 3 2 8 4 2 1 9 d := 1 (2 < 8)
5) 9 8 5 3 8 2 4 2 1 9 d := 2 (2 < 4)
6) 9 8 5 3 8 4 2 2 1 9 d := 3 (2 !< 2)
7) 9 8 5 3 8 4 2 2 1 9 d := 3 (2 !< 1)
8) 9 8 5 3 8 4 2 2 1 9 d := 3 (1 < 9)
8) 9 8 5 3 8 4 2 2 9 1 d := 4
ответ: d := 4
pascal
const K = 8;
var
b : array [0..K - 1] of integer;
x, y, z, count : integer;
begin
for x := 0 to K - 1 do
readln(b[x]);
for x := 0 to K - 2 do
for y := x + 1 to K - 1 do
if b[x] > b[y] then
z := b[x];
b[x] := b[y];
b[y] := z;
end;
z := 1;
write(b[0], ', ');
for x := 1 to K - 1 do
if b[x] <> b[x - 1] then
write(b[x], ', ');
inc(z);
writeln();
writeln('Кол-во уникальных элементов : ', z);
end.
4
Объяснение:
фрагмент кода меняет соседние элементы массива, если предыдущий меньше последующего и считает кол-во этих перестановок
Исходный
8 9 5 3 2 8 4 2 1 9 d := 0 ( 8 < 9)
1) 9 8 5 3 2 8 4 2 1 9 d := 1 (8 !< 5)
2) 9 8 5 3 2 8 4 2 1 9 d := 1 (5 !< 3)
3) 9 8 5 3 2 8 4 2 1 9 d := 1 (3 !< 2)
4) 9 8 5 3 2 8 4 2 1 9 d := 1 (2 < 8)
5) 9 8 5 3 8 2 4 2 1 9 d := 2 (2 < 4)
6) 9 8 5 3 8 4 2 2 1 9 d := 3 (2 !< 2)
7) 9 8 5 3 8 4 2 2 1 9 d := 3 (2 !< 1)
8) 9 8 5 3 8 4 2 2 1 9 d := 3 (1 < 9)
8) 9 8 5 3 8 4 2 2 9 1 d := 4
ответ: d := 4
pascal
Объяснение:
const K = 8;
var
b : array [0..K - 1] of integer;
x, y, z, count : integer;
begin
for x := 0 to K - 1 do
readln(b[x]);
for x := 0 to K - 2 do
for y := x + 1 to K - 1 do
if b[x] > b[y] then
begin
z := b[x];
b[x] := b[y];
b[y] := z;
end;
z := 1;
write(b[0], ', ');
for x := 1 to K - 1 do
if b[x] <> b[x - 1] then
begin
write(b[x], ', ');
inc(z);
end;
writeln();
writeln('Кол-во уникальных элементов : ', z);
end.