Решение: Изменение элемента массива
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 11. Значения элементов массива $A[i]$ приведены в таблице.
Определите значение переменной $s$ после выполнения фрагмента программы. В начале выполнения $s = 0$, $n = 1$. Для каждого $i$ от 0 до 11 выполняется проверка: если $A[i] > A[n]$, то к $s$ прибавляется $A[i] + i$; иначе значение $A[n]$ заменяется на $A[i]$.
| $i$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| $A[i]$ | 14 | 13 | 15 | 8 | 4 | 12 | 30 | 21 | 22 | 16 | 5 | 9 |
Решение по шагам
5 шаговИзначально $s=0$, $A[1]=13$. При $i=0$ условие выполняется: $14>13$, поэтому $s=0+14+0=14$.
При $i=1$ условие $13>13$ ложно, поэтому $A[1]$ остаётся равным 13. При $i=2$ условие выполняется: $15>13$, получаем $s=14+15+2=31$.
При $i=3$ условие ложно, поэтому $A[1]=8$. При $i=4$ условие также ложно, поэтому $A[1]=4$.
Для $i=5,6,7,8,9,10,11$ условие выполняется, так как соответствующие значения больше 4. К текущей сумме прибавляются $12+5$, $30+6$, $21+7$, $22+8$, $16+9$, $5+10$, $9+11$.
Суммируем все добавления:
$$s=14+17+17+36+28+30+25+15+20=202$$Где здесь ошибаются
Не учитывать изменение значения $A[1]$ при невыполнении условия.
Сравнивать элементы с первоначальным значением $A[1]$, а не с текущим.
Забывать прибавлять индекс $i$ к значению $A[i]$.