Pascal ABC
Дан целочисленный массив из n элементов. Элементы массива могут принимать неотрицательные целые значения до 10 000 включительно(это проверять не нужно). Необходимо определить количество четных и нечетных чисел. Если количество чётных чисел больше, чем количество нечётных, заменить каждое нечетное число на произведение нечетных цифр в его десятичной записи. Если количество нечётных чисел больше, заменить каждое чётное число на произведение чётных цифр в его десятичной записи. В качестве результата необходимо вывести изменённый массив в строку.
Например, для исходного массива из семи элементов:
48 31 20 61 97 12 18
программа должна вывести следующий массив
48 3 20 1 63 12 18
1. Вычисляется сумма квадратов чисел от 1 до 4: 1²+2²+3²+4².
2. Вычисляется сумма чисел от 1 до 5. Таблица изменений S и i в цикле for прикреплена в первом вложении.
3. Здесь вычисляется произведение чисел от 1 до 4. После выполнения цикла for в s будет храниться 1*2*3*4=24, а в a - 5. Таблица изменений i, s и a в цикле for прикреплена во втором вложении.
4. Здесь вычисляется произведение чисел от 1 до 5, за исключением того, что изначально s=0, поэтому после цикла for в s тоже будет храниться 0. А в a будет храниться 6.
5. Это циклический алгоритм.
6. S=4. Внутри цикла while число S увеличивается на 1, пока не перестанет выполняться условие "X <= 3". Так как X увеличивается вместе с S, то после цикла S=X=4.
7. Не уверен, что соблюдены какие-то правила составления блок-схем, но в общем у меня получилась такая (вложение 3).