Решение №1
Рассмотрим внимательно, что происходит в программе. Вначале создаётся переменная c, равная 0. Затем мы задаём цикл по i от 1 до 9. То есть, будет 9 итераций, при этом переменная i будет меняться от i=1, затем будет i=2, затем i=3, ..., i=9.
Давайте запишем исходный массив в виде таблицы:
i | A[i] |
0 | 4 |
1 | 7 |
2 | 3 |
3 | 8 |
4 | 5 |
5 | 0 |
6 | 1 |
7 | 2 |
8 | 9 |
9 | 6 |
Посмотрим внимательно, что происходит в цикле.
- Условие if A[i] < A[0]: означает, что i-ый элемент массива меньше нулевого. Так как i меняется от 1 до 10, то, фактически, с A[0] будет последовательно сравниваться каждый элемент.
- Если условие не выполнено, то мы просто переходим к следующей итерации. К примеру, при i=1:
- A[1]=7, A[0]=4. Условие A[i]=A[1]=7<A[0]=4 не выполняется.
- Значит, мы просто переходим к следующей итерации i=2.
- Если же условие выполняется, то происходят следующие действия:
- Переменная c увеличивается на 1: c=c+1. То есть, при первом выполнении условия переменная c станет равной 1. При втором — 2. И так далее.
- То есть, фактически в переменной c будет количество раз, когда условие было выполнено.
- Дальше, происходит какая-то магия:
- В переменную t мы записываем значение A[i].
- В переменную A[i] мы записываем значение A[0].
- В переменную A[0] мы записываем значение t, то есть, фактически A[i] на момент начала итерации.
- То есть, фактически, в переменной A[i] оказывается A[0], а в переменной A[0] — A[i].
- То есть, они просто меняются местами.
- То есть, резюмируя: если условие выполняется и пробегаемое число меньше A[0], то в A[0] мы записываем это число.
- Давайте внимательно посмотрим, что будет происходить по шагам:
- A[1]=7 не меньше A[0]=4.
- A[2]=3 меньше A[0]=4. Значит, c станет: c=1, а A[0] станет 3.
- A[3]=8 не меньше A[0]=3.
- A[4]=5 не меньше A[0]=3.
- A[5]=0 меньше A[0]=3. Значит, с станет равным 2.
- Дальше смотреть бессмысленно: все последующие элементы явно больше нуля.
Ответ: c=2 в конце программы.