Найти сумму чётных и нечётных чисел - C (СИ) (71791)
Формулировка задачи:
Ребят, помогите с задачами на массивы
1) Статическая память. Двумерный массив. Дан массив целых чисел (5х5). Найти сумму чётных и
нечётных чисел.
Заранее спасибо за помощь
Решение задачи: «Найти сумму чётных и нечётных чисел»
textual
Листинг программы
#include <stdio.h>
#define WIDTH 5
#define HEIGHT 5
int array[HEIGHT][WIDTH] = {00, 01, 02, 03, 04,
10, 11, 12, 13, 14,
20, 21, 22, 23, 24,
30, 31, 32, 33, 34,
40, 41, 42, 43, 44};
int odd = 0; // количество нечетных чисел
int even = 0; // количество четных чисел
int main(void)
{
int y;
for (y = HEIGHT - 1; y >= 0; y--) {
int x;
for (x = WIDTH - 1; x >= 0; x--)
array[y][x] & 1 ? odd++ : even++;
}
printf("odd = %d\r\neven = %d\r\n", odd, even);
system("pause");
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с консолью и объявляем массив.
- Задаем значения переменных
WIDTHиHEIGHT, которые представляют собой размеры массива. - Инициализируем двумерный массив
arrayзначениями от 00 до 44 с шагом 10 для строк и от 0 до 4 для столбцов с шагом 1. - Создаем две переменные
oddиeven, которые будут использоваться для подсчета нечетных и четных чисел соответственно. - В функции
mainсоздаем переменнуюy, которая будет использоваться в цикле. - Запускаем вложенный цикл для перебора всех элементов массива
array. - Используем оператор
&для проверки остатка от деления на 2 (при помощи операторов>>и<<) и увеличиваем одну из переменных на 1 в зависимости от результата. - После перебора всех элементов массива выводим значения переменных
oddиevenна экран. - Добавляем задержку с помощью функции
system(pause), чтобы пользователь мог увидеть результат.