Решение: Подсчёт обменов в массиве
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны $4, 5, 3, 2, 1, 7, 8, 9, 9, 3$ соответственно, то есть $A[0]=4$, $A[1]=5$ и т. д. Определите значение переменной $c$ после выполнения фрагмента программы.
1c = 0 2for i in range(1, 10): 3 if A[i-1] < A[i]: 4 c = c + 1 5 A[i-1], A[i] = A[i], A[i-1]
Решение по шагам
4 шагаИзначально $c=0$, а массив имеет вид $[4,5,3,2,1,7,8,9,9,3]$.
При $i=1$: $A[0]=4 < A[1]=5$. Увеличиваем $c$ до 1 и меняем элементы местами.
$$c=1$$При $i=2,3,4$ условие не выполняется. При $i=5$: $1<7$, поэтому $c=2$.
$$c=2$$При $i=6$: $1<8$, при $i=7$: $1<9$, при $i=8$: $1<9$, при $i=9$: $1<3$. В каждом случае $c$ увеличивается на 1.
$$c=2+4=6$$Где здесь ошибаются
Не учитывать обмен соседних элементов после выполнения условия.
Проверять только исходный массив, не изменяя его по ходу цикла.
Ошибочно считать сравнения, а не случаи выполнения условия.