Монеты(#1026) Считаем кораблики(#1028)
#1027

Задача g6_1027: Четные и нечетные члены последовательности
Даны натуральное число n, 1 <= n <= 100, целые числа a1, a2, ..., an, 1 <= ai <= 100.
Требуется получить последовательность x1, y1, x2, y2, ..., xk, yk, где x1, x2, ..., xm -- взятые в порядке следования четные (делящиеся нацело на 2) члены последовательности a1, a2, ..., an, а y1, y2, ..., yl -- взятые в порядке следования нечетные члены последовательности a1, a2, ..., an, k = min(m, l), m + l = n.
Формат входных данных
Входной файл INPUT.TXT содержит в первой строке целое число n. Во второй идут целые числа a1, a2, ..., an, разделенные пробелами.
Пример:
10
98 56 33 73 41 8 48 93 52 80
Формат выходных данных
Выходной файл OUTPUT.TXT должен содержать последовательность x1, y1, x2, y2, ..., xk, yk, расположенную в одной строке файла, числа должны быть разделены пробелами. Если исходная последовательность не содержит ни одного четного или ни одного нечетного члена, т.е. k = 0, то в файл необходимо вывести цифру 0 (нуль).
Пример:
98 33 56 73 8 41 48 93
Решение g6_1027:
Простая задача. Заведем два дополнительных массива размерностью 50, один из которых будет хранить четные, а другой - нечетные члены последовательности. Для каждого из массивов заведем собственный счетчик, указывающий на количество членов в данном массиве.
Первоначально инициализируем счетчики нулем. Затем, при чтении очередного числа, проверяем, четное ли оно и, в зависимости от четности, помещаем в один из массивов(до этого увеличив соответственный счетчик на 1).
После того, как разбиение последовательности на две закончено, найдем, какой из счетчиков меньше. В случае если минимальный счетчик раве 0 - выводим 0 и выходим, иначе последовательно выводим сначала четное число с номером n, а затем нечетное с номером n (n изменяется от 1 до min).
Все!

Наверх