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