Решение: Массив и последовательные обмены
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 2, 6, 4, 7, 8, 1, 0, 2, 9, 3 соответственно, то есть $A[0] = 2$, $A[1] = 6$ и т. д.
Определите значение переменной $c$ после выполнения фрагмента программы, записанного на разных языках программирования.
Решение по шагам
5 шаговИзначально $A[9] = 3$, а $c = 0$. При $i=0$ значение $A[0]=2$ не больше 3, поэтому обмена нет.
При $i=1$: $A[1]=6 > 3$. Выполняется обмен, значение $A[9]$ становится равным 6, а $c=1$.
При $i=2$: $A[2]=4$ не больше 6. При $i=3$: $A[3]=7 > 6$, поэтому $A[9]$ становится равным 7, а $c=2$.
При $i=4$: $A[4]=8 > 7$. После обмена $A[9]=8$, а $c=3$. При $i=5$, $i=6$ и $i=7$ условие не выполняется.
При $i=8$: $A[8]=9 > 8$. Выполняется последний обмен, и $c$ увеличивается до 4.
Где здесь ошибаются
Сравнивать все элементы только с первоначальным значением $A[9]=3$.
Не учитывать изменение $A[9]$ после каждого обмена.
Продолжать цикл до индекса 9, хотя он выполняется только для индексов от 0 до 8.