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

Задачи и их решения / Найти сумму четных элементов массива

 

Задача Найти сумму четных элементов массива.
 
Поскольку в программе должна осуществляться проверка на четность элементов, элементы массива должны быть целыми числами. Количество элементов в условии задачи не указано, поэтому в программе будет введено пользователем. Сами элементы массива также заполняет пользователь.
Проверка на четность каждого элемента в цикле осуществляется путем сравнения остатка от деления на 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
#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;
  cin.get(); cin.get();
  return 0;
}

 
Результат выполнения
Сумма четных элементов массива


Назад: Задачи и их решения

Комментариев к записи: 23

  • Помогите сделать Найти сумму чётных элементов одновременного массива

  • 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;
    }

  • Похожая задача: Ввести в Memo целые числа. Создать из них массив. Вычислить сумму чётных элементов массива. Поможете?


  • Немного дополнил код нахождением суммы нечётных чисел)
    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;
    }

  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    //=================================
    //Программа нахождения суммы четных элементов массива
    //=================================
    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    ll a[100];
    int main()
    {
        ll n;
        cin>>n;
        for(ll i=0;i<n;i++){
            cin>>a[i];
        }
        ll ans=0;
        for(ll i=0;i<n;i++){
            if(a[i]%2==0){//Проверка на чётность
                ans+=a[i];
            }
        }
        cout<<ans;
        return 0;
    }

  • Решение на C#
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    int result = 0;
                Console.WriteLine("Введите число:");
                int N = int.Parse(Console.ReadLine());
                Console.WriteLine("Введите количество элементов массива");
                int[] mass = new int[N];
                for (int i = 0; i < N; i++)
                {
                   mass[i] = Convert.ToInt32(Console.ReadLine());
                }
                for (int i = 0; i < N; i++)
                {
                    if (mass[i] % 2 == 0)
                    {
                        result += mass[i];
                    }
                }
                Console.WriteLine($"Сумма четных эл.массива составляет {result}");

  • 1
    2
    if (mas[i] % 2 == 0) // проверка на четность
      sum += mas[i];
    проще и приличнее для Си проверять не заканчивается ли число на 0 в двоичной с.с.
    1
    2
    if ( !(mas[i] &amp; 1) )
      sum += mas[i];

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

      • Бродяга
        В заданном массиве F[12] определите количество чётных элементов. Если это количество больше 6, выведите на экран каждый второй элемент массива. В противном случае, выведите на экран все отрицательные элементы. Вывести полученный массив на экран. Примечание: выполните задание выводя основные функции в отдельные методы.


  • 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    //=========================================================
    //Программа нахождения суммы четных элементов массива
    // ========================================================
    #include "stdafx.h"
    #include <iostream>
    #include <time.h>
    #include <conio.h>
    using namespace std;
    void add(int *, int);
    int main()
    {
      setlocale(0, "rus");
      srand(time(0));
      int size; //Размер массива
      cout << "Введите количество элементов:";
      cin >> size;
      int *massive = new int[size]; //Создание массива
      add(massive, size);// Вызов функции заполнения подсчета и вывода
      return 0;
    }
    //============================================================
    //Функция заполнения массива случайными числами, подсчета
    //и вывода суммы четных элементов
    //============================================================
    void add(int *massive, int size)
    {
      int sum = 0; //Сумма нечетных элементов
      for (int counter = 0; counter<size; counter++)
      {
        massive[counter] = rand() % 10;//В текущую ячейку массива записываем случайное число от 0 до 9
        cout << massive[counter] << endl;//Выводим массив на консоль
        if (massive[counter] % 2 == 0) //Проверка на четность
          sum = sum + massive[counter];
      }
      cout << endl << "Сумма нечетных элементов равна = " << sum << endl;
      _getch();
    }

    • Вот рабочий код:
      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
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      //=========================================================
      //Программа нахождения суммы четных элементов массива
      // ========================================================
       
      #include <iostream>
      #include <time.h>
      #include <conio.h>
      using namespace std;
      void add(int *, int);
      int main()
      {
        setlocale(0, "rus");
        srand(time(0));
        int size; //Размер массива
        cout << "Введите количество элементов:";
        cin >> size;
        int *massive = new int[size]; //Создание массива
        add(massive, size);// Вызов функции заполнения подсчета и вывода
        return 0;
      }
      //============================================================
      //Функция заполнения массива случайными числами, подсчета
      //и вывода суммы четных элементов
      //============================================================
      void add(int *massive, int size)
      {
        int sum = 0; //Сумма нечетных элементов
        for (int counter = 0; counter<size; counter++)
        {
          massive[counter] = rand() % 10;//В текущую ячейку массива записываем случайное число от 0 до 9
          cout << massive[counter] << endl;//Выводим массив на экран
          if (massive[counter] % 2 != 0) //Проверка на четность
            sum += massive[counter];
        }
        cout << endl << "Сумма нечетных элементов равна = " << sum << endl;
      }


  • 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 не будет опубликован. Обязательные поля помечены *