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