Найти все парные элементы в двумерном массиве и сложить их - C (СИ)
Формулировка задачи:
Добрый вечер!
Подскажите пожалуйста каким образом можно реализовать следующую задачу.
Необходимо найти все парные элементы в двумерном массиве (т.е. которых только 2) и сложить их.
Массив заполняется случайными числами...
Решение задачи: «Найти все парные элементы в двумерном массиве и сложить их»
textual
Листинг программы
#include<stdio.h> #include<stdlib.h> #include<time.h> #define M 3 #define N 5 void Init(int *a, int *end) { if (a < end) { *a = rand() % 10 - 5; Init(a + 1, end); } } void Print(int a[M][N], int m, int n) { int i, j; for(i = 0; i < m; ++i) { for(j = 0; j < n; ++j) printf("%4d", a[i][j]); putchar('\n'); } } int Count(int *a, int *end, int x) { return a < end ? (*a == x) + Count(a + 1, end, x) : 0; } int main() { int i, a[M][N], sum = 0, count = 0; srand(time(NULL)); Init(*a, *a + M*N); Print(a, M, N); for(i = 0; i < M*N; ++i) if (Count(*a, *a + M*N, *(*a + i)) == 2) { sum += *(*a + i); ++count; } printf("count = %d\n", count); printf("sum = %d\n", sum); return 0; }
Объяснение кода листинга программы
В данном коде на языке C решается задача поиска всех парных элементов в двумерном массиве и их суммирования.
- Сначала мы подключаем необходимые библиотеки:
- stdio.h нужна для работы с вводом/выводом;
- stdlib.h нужна для работы с функциями, используемыми для манипуляций с массивами;
- time.h нужна для получения текущего времени, которое мы используем в качестве источника псевдослучайных чисел.
- Затем мы определяем размеры нашего массива:
- M - количество строк;
- N - количество столбцов.
- Далее идут функции:
- Init - инициализирует массив случайными числами;
- Print - выводит массив на экран;
- Count - подсчитывает количество элементов в массиве, равных заданному значению.
- В функции main мы создаем двумерный массив a, инициализируем его, выводим на экран, а затем суммируем все его элементы, равные двум определенным значениям, и подсчитываем их количество.
- В конце функции main мы возвращаем 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д