Фрагмент записан верно.
1.
Полный код:
arr = [i for i in range(9)]
print(arr)
a = arr[2]
arr[2]=arr[8]
arr[8]=a
print(arr)
2. В Python третья переменная нам не нужна для перестановки местами элементов списка, мы можем намного проще сделать. А если говорить про все остальные языки, то без третьей переменной мы не сможем никак иначе обменять значения элементов массива. Например: Хотим мы найти максимум и переставить его на 5 позицию, без 3 переменной нам никак не обойтись.
3.
i_max - индекс максимального элемента
i_min - индекс минимального элемента
arr - наш список
Наш фрагмент кода выглядит так:
arr[i_max], arr[i_min] = arr[i_min], arr[i_max]
const n=10; m=8;
var a:array[1..n,1..m] of integer;
b:array[1..n] of integer;
i, j: integer;
begin
writeln('Исходная матрица:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(20)-5;
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n do
begin
j:=1;
while (j<=m)and(a[i,j]>0) do j:=j+1;
b[i]:=j-1;
end;
writeln('Полученный массив:');
for i:=1 to n do write(b[i]:3);
writeln;
end.
Пример:
Исходная матрица:
14 13 1 9 9 8 -5 10
13 -4 -2 7 1 5 10 -5
3 2 6 14 12 5 5 11
6 -2 8 3 3 -1 -4 8
9 0 -1 -3 2 6 12 8
-1 -2 0 3 4 -3 10 5
8 11 -3 2 12 1 8 7
13 7 13 11 8 -3 6 1
11 6 1 -1 14 7 -2 5
0 13 -3 4 14 2 2 3
Полученный массив:
6 1 8 1 1 0 2 5 3 0