Найти сумму четных элементов массива

Найти сумму четных элементов массива

Задача Найти сумму четных элементов массива.

Поскольку в программе должна осуществляться проверка на четность элементов, элементы массива должны быть целыми числами. Количество элементов в условии задачи не указано, поэтому в программе будет введено пользователем. Сами элементы массива также заполняет пользователь. Проверка на четность каждого элемента в цикле осуществляется путем сравнения остатка от деления на 2 (%2) с нулем. Четное число делится нацело без остатка. Результатом выполнения программы является вывод на экран суммы четных элементов массива.

Реализация на С++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
using namespace std;
int main()
{
  int* mas, n, sum;
  sum = 0;
  system("chcp 1251");
  system("cls");
  cout << "Введите размер массива: ";
  cin >> n;
  mas = new int[n];
  for (int i = 0; i < n; i++)
  {
    cout << "mas[" << i << "]= ";
    cin >> mas[i];
  }
  for (int i = 0; i < n; i++)
  {
    if (mas[i] % 2 == 0) // проверка на четность
      sum += mas[i];
  }
  cout << "Сумма четных элементов массива равна " << sum;
  delete []mas;
  cin.get(); cin.get();
  return 0;
}

Результат выполнения

Сумма четных элементов массива

7 комментариев к “Найти сумму четных элементов массива”

  1. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <iostream>;
    using namespace std;
    int main() {
        int sum=0, n=0, *nums;
        cin >> n;
        nums = new int[n];
        for (int i = 0; i < n; i++) cin >> nums[i];
        for (int i = 0; i < n; i++) if (nums[i] % 2 == 0) sum += nums[i];
        cout << sum;
    }
  2. Немного дополнил код нахождением суммы нечётных чисел)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <iostream>

    using namespace std;

    int main() {
      setlocale(0, "RU");
      int arr[] = { 0 }, a, c_sum = 0, n_sum = 0;
      cout << "Введите количество цифр: ";
      cin >> a;
      for (int i = 0; i < a; i++) {
        cout << "arr[" << i << "] = ";
        cin >> arr[a];
        if (arr[a] % 2 == 0) {
          c_sum += arr[a];
        }
        else {
          n_sum += arr[a];
        }
      }
      cout << "Сумма всех чётных чисел: " << c_sum << endl;
      cout << "Сумма всех нечётных чисел: " << n_sum << endl;
    }

  3. Денис

    1
    2
    if (mas[i] % 2 == 0) // проверка на четность
      sum += mas[i];

    проще и приличнее для Си проверять не заканчивается ли число на 0 в двоичной с.с.
    <pre>

    1
    2
    if ( !(mas[i]&1) )
      sum += mas[i];

    </pre>

    1. Елена Вставская

      Да, согласна с Вашим способом. Я тоже люблю использовать побитовые операции.
      Но многие считают такую проверку на чётность более сложной для понимания.
      Кроме того, нахождение остатка от деления — более универсальный способ, поскольку позволяет определить кратность любому числу.

  4. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
      
    #include <iostream>
    #include <conio.h>
    using namespace std;
    int main() {
      int summary = 0;
      int array[10];
      for (int i(0); i < size(array);i++) {
        cin >> array[i];
        if (array[i] % 2 == 0) {
          summary += array[i];
        }
      }
      cout << summary;
      _getch();
    }

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх