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