Найти все парные элементы в двумерном массиве и сложить их - 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, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д