Найти все парные элементы в двумерном массиве и сложить их - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер! Подскажите пожалуйста каким образом можно реализовать следующую задачу. Необходимо найти все парные элементы в двумерном массиве (т.е. которых только 2) и сложить их. Массив заполняется случайными числами...

Решение задачи: «Найти все парные элементы в двумерном массиве и сложить их»

textual
Листинг программы
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. #define M 3
  5. #define N 5
  6. void Init(int *a, int *end)
  7. {
  8.    if (a < end)
  9.    {
  10.       *a = rand() % 10 - 5;
  11.       Init(a + 1, end);
  12.    }
  13. }
  14. void Print(int a[M][N], int m, int n)
  15. {
  16.    int i, j;
  17.    for(i = 0; i < m; ++i)
  18.    {
  19.       for(j = 0; j < n; ++j)
  20.          printf("%4d", a[i][j]);
  21.       putchar('\n');
  22.    }
  23. }
  24. int Count(int *a, int *end, int x)
  25. {
  26.    return a < end ? (*a == x) + Count(a + 1, end, x) : 0;
  27. }
  28.  
  29. int main()
  30. {
  31.    int i, a[M][N], sum = 0, count = 0;
  32.    srand(time(NULL));
  33.    Init(*a, *a + M*N);
  34.    Print(a, M, N);
  35.    for(i = 0; i < M*N; ++i)
  36.       if (Count(*a, *a + M*N, *(*a + i)) == 2)
  37.       {
  38.           sum += *(*a + i);
  39.           ++count;
  40.       }
  41.    printf("count = %d\n", count);
  42.    printf("sum = %d\n", sum);
  43.    return 0;
  44. }

Объяснение кода листинга программы

В данном коде на языке C решается задача поиска всех парных элементов в двумерном массиве и их суммирования.

  1. Сначала мы подключаем необходимые библиотеки:
    • stdio.h нужна для работы с вводом/выводом;
    • stdlib.h нужна для работы с функциями, используемыми для манипуляций с массивами;
    • time.h нужна для получения текущего времени, которое мы используем в качестве источника псевдослучайных чисел.
  2. Затем мы определяем размеры нашего массива:
    • M - количество строк;
    • N - количество столбцов.
  3. Далее идут функции:
    • Init - инициализирует массив случайными числами;
    • Print - выводит массив на экран;
    • Count - подсчитывает количество элементов в массиве, равных заданному значению.
  4. В функции main мы создаем двумерный массив a, инициализируем его, выводим на экран, а затем суммируем все его элементы, равные двум определенным значениям, и подсчитываем их количество.
  5. В конце функции main мы возвращаем 0, что означает успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы