Как найти количество элементов с четными значениями

У меня есть двумерный массив. Мне нужно подсчитать количество чётных его элементов и вывести это количество на экран. Как это сделать?

import random
random.seed()
m = input('Количество столбцов > ') # количество столбцов
n = input('Количество строк > ') # количество рядов
M = [[random.randint(-100, 100) for _ in range(eval(m))] for _ in range(eval(n))]
for V in M:
  for e in V:
    print(e, end=', ')
  print()

задан 12 дек 2019 в 20:55

Raisa Tinina's user avatar

1

import random
random.seed()
m = input('Количество столбцов > ') # количество столбцов
n = input('Количество строк > ') # количество рядов
M = [[random.randint(-100, 100) for _ in range(eval(m))] for _ in range(eval(n))]
for V in M:
    for e in V:
        print(e, end=', ')
    print()

even = 0
for V in M:
    for e in V:
        if e % 2 == 0:
            even += 1
print(even)

P.s. в этом сообществе принято излагать свой вариант решения, каким бы он ни был, чтобы его можно было подправить, а не просить решать задачу за вас

ответ дан 12 дек 2019 в 21:05

Евгений's user avatar

ЕвгенийЕвгений

4,4872 золотых знака8 серебряных знаков28 бронзовых знаков

import random
random.seed()
m = input('Количество столбцов > ') # количество столбцов
n = input('Количество строк > ') # количество рядов
M = [[random.randint(-100, 100) for _ in range(int(m))] for _ in range(int(n))]

count = 0

for V in M:
  for e in V:
    if not e & 1:
        count += 1
print(count)

ответ дан 12 дек 2019 в 21:06

asd's user avatar

asdasd

1,8053 золотых знака13 серебряных знаков27 бронзовых знаков

Ну на коленке как-то так:

import random


def even_values(mtx: list) -> list:
    new = []
    for row in range(mtx.__len__()):
        for col in range(mtx[row].__len__()):
            if mtx[row][col] % 2 == 0:
                new.append(mtx[row][col])
    return new


if __name__ == '__main__':
    random.seed()
    m = int(input('Количество столбцов > '))  # количество столбцов
    n = int(input('Количество строк > '))  # количество рядов
    print(even_values([[random.randint(-100, 100) for _ in range(m)] for _ in range(n)]).__len__())  

Или без создания самой матрицы:

random.seed()
m = int(input('Количество столбцов > '))  # количество столбцов
n = int(input('Количество строк > '))  # количество рядов
print(sum(1 if random.randint(-100, 100) % 2 == 0 else 0 for _ in range(m * n))) 

ответ дан 12 дек 2019 в 21:28

Ole Lukøje's user avatar

Ole LukøjeOle Lukøje

3,8851 золотой знак9 серебряных знаков32 бронзовых знака

0 / 0 / 0

Регистрация: 31.10.2010

Сообщений: 58

1

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

31.10.2010, 23:43. Показов 39396. Ответов 4


Студворк — интернет-сервис помощи студентам

Дан динамический массив. Элементы массива вводятся с клавиатуры. Найти количество четных элементов массива.

задание на С++ 2006



0



MILAN

899 / 793 / 186

Регистрация: 21.02.2009

Сообщений: 1,722

31.10.2010, 23:46

2

C++
1
2
3
4
5
6
7
for(int i=0; i<n; i++)
  {
      if(arr[i]%2==0)
        {
            count++;
        }
   }



0



0 / 0 / 0

Регистрация: 31.10.2010

Сообщений: 58

31.10.2010, 23:48

 [ТС]

3

сможете полностью скинуть



0



MILAN

899 / 793 / 186

Регистрация: 21.02.2009

Сообщений: 1,722

31.10.2010, 23:53

4

C++
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 <ctime> 
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{    
     setlocale(LC_ALL,"Russian");
     int count=0;
     int i,size;
     srand((unsigned)time(NULL));
     int *arr;
     cout<<"Введите розмер массива: ";
     cin>>size;
     arr = new int[size];
     cout<<"Массив: ";
     for(i=0; i<size; i++)
     {
        arr[i]=rand()%9+1;
        cout<<arr[i]<<" ";
     }
     cout<<endl;
     for(i=0; i<size; i++)
      {
         if(arr[i]%2==0)
            {
              count++;
            }
       }
    cout<<endl<<"Количество четных элементов массивa - "<<count<<endl;
    delete [] arr;
    system("pause");
   return 0;
}



3



0 / 0 / 0

Регистрация: 31.10.2010

Сообщений: 58

31.10.2010, 23:54

 [ТС]

5

спасибо!!!



0



Нахождение четных элементов массива

Итак формулировка задачи такова «найти все четные элементы массива, вывести на экран, и подсчитать их количество».
Для начала определим, что такое четное число вообще? правильно, четными числами называются числа, которые делятся на 2 без остатка (иногда еще говорят кратны 2).

Теперь определимся как это реализовать. В паскале есть такой замечательный оператор mod, который нам как раз и необходим. Сей оператор отвечает за деление с остатком, а если быть точнее, применив данный оператор, вы получаете остаток от деления. Например 11 разделить на 2. Использовав mod мы получим в ответе число 1.

11/2 = 5 (остаток 1)

Теперь как это все записать в паскале. Пусть переменная х — это остаток

x := 11 mod 5

Вернемся к нашей задаче, где нас интересует нахождение четных элементов массива. Для ее решения нужно подойти к составлению кода логически .
Каков остаток при делении четного числа на 2? Верно, остаток всегда равен нулю. (Подробнее о четности вы можете прочесть в статье оператор div и оператор mod) То есть нам просто нужно использовать цикл с условием вида

if s[i] mod 2 = 0 then

Ну а теперь код всей задачи (как в помните нам еще было необходимо подсчитать количество четных чисел и вывести их всех на экран)

var i,x,y:integer;s:array [1..10] of integer;
begin
for i:=1 to 10 do
read(s[i]);
for i:=1 to 10 do
if s[i] mod 2=0 then begin
writeln (s[i]);
y:=y+1;
end;
writeln;
writeln(‘количество четных чисел = ‘,y)
end.

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    For the given array of integers, count even and odd elements.

    Examples: 

    Input: 
    int arr[5] = {2, 3, 4, 5, 6}
    Output: 
    Number of even elements = 3    
    Number of odd elements = 2  
    
    Input:
    int arr[5] = {22, 32, 42, 52, 62}
    Output: 
    Number of even elements = 5  
    Number of odd elements = 0

    Solution: We can also check if a number is odd or even

    • By doing AND of 1 and that digit, if the result comes out to be 1 then the number is odd otherwise even.
    • By its divisibility by 2. A number is said to be odd if it is not divisible by 2, otherwise its even.

    Here, we will check if a number is odd, then we will increment the odd counter otherwise we will increment the even counter. 

    Below is the implementation of the above approach:

    C

    #include <stdio.h>

    void CountingEvenOdd(int arr[], int arr_size)

    {

        int even_count = 0;

        int odd_count = 0;

        for (int i = 0; i < arr_size; i++) {

            if (arr[i] & 1 == 1)

                odd_count++;

            else

                even_count++;

        }

        printf("Number of even elements = %d nNumber of odd "

               "elements = %d",

               even_count, odd_count);

    }

    int main()

    {

        int arr[] = { 2, 3, 4, 5, 6 };

        int n = sizeof(arr) / sizeof(arr[0]);

        CountingEvenOdd(arr, n);

    }

    C++

    #include <iostream>

    using namespace std;

    void CountingEvenOdd(int arr[], int arr_size)

    {

        int even_count = 0;

        int odd_count = 0;

        for (int i = 0; i < arr_size; i++) {

            if (arr[i] & 1 == 1)

                odd_count++;

            else

                even_count++;

        }

        cout << "Number of even elements = " << even_count

             << "nNumber of odd elements = " << odd_count;

    }

    int main()

    {

        int arr[] = { 2, 3, 4, 5, 6 };

        int n = sizeof(arr) / sizeof(arr[0]);

        CountingEvenOdd(arr, n);

    }

    Java

    import java.io.*;

    class GFG {

        static void CountingEvenOdd(int arr[], int arr_size)

        {

            int even_count = 0;

            int odd_count = 0;

            for (int i = 0; i < arr_size; i++) {

                if ((arr[i] & 1) == 1)

                    odd_count++;

                else

                    even_count++;

            }

            System.out.println("Number of even"

                               + " elements = " + even_count

                               + " Number of odd elements = "

                               + odd_count);

        }

        public static void main(String[] args)

        {

            int arr[] = { 2, 3, 4, 5, 6 };

            int n = arr.length;

            CountingEvenOdd(arr, n);

        }

    }

    Python3

    def CountingEvenOdd(arr, arr_size):

        even_count = 0

        odd_count = 0

        for i in range(arr_size):

            if (arr[i] & 1 == 1):

                odd_count += 1

            else:

                even_count += 1

        print("Number of even elements = ",

              even_count)

        print("Number of odd elements = ",

              odd_count)

    arr = [2, 3, 4, 5, 6]

    n = len(arr)

    CountingEvenOdd(arr, n)

    C#

    using System;

    class GFG {

        static void CountingEvenOdd(int[] arr, int arr_size)

        {

            int even_count = 0;

            int odd_count = 0;

            for (int i = 0; i < arr_size; i++) {

                if ((arr[i] & 1) == 1)

                    odd_count++;

                else

                    even_count++;

            }

            Console.WriteLine("Number of even"

                              + " elements = " + even_count

                              + " Number of odd elements = "

                              + odd_count);

        }

        public static void Main()

        {

            int[] arr = { 2, 3, 4, 5, 6 };

            int n = arr.Length;

            CountingEvenOdd(arr, n);

        }

    }

    PHP

    <?php

    function CountingEvenOdd( $arr, $arr_size)

    {

        $even_count = 0;         

        $odd_count = 0;             

        for( $i = 0 ; $i < $arr_size ; $i++) 

        {

            if ($arr[$i] & 1 == 1)

                $odd_count ++ ;     

            else                

                $even_count ++ ;         

        }

        echo "Number of even elements = " ,

            $even_count," Number of odd " ,

                "elements = " ,$odd_count ;     

    }

        $arr = array(2, 3, 4, 5, 6);

        $n = count($arr);

        CountingEvenOdd($arr, $n);

    ?>

    Javascript

    <script>

    function CountingEvenOdd(arr, arr_size)

    {

        let even_count = 0;

        let odd_count = 0;

        for (let i = 0; i < arr_size; i++) {

            if (arr[i] & 1 == 1)

                odd_count++;

            else

                even_count++;

        }

        document.write("Number of even elements = " + even_count

            + "<br>" + "Number of odd elements = " + odd_count);

    }

        let arr = [ 2, 3, 4, 5, 6 ];

        let n = arr.length;

        CountingEvenOdd(arr, n);

    </script>

    Output

    Number of even elements = 3
    Number of odd elements = 2

    Time Complexity: O(n)

    Auxiliary Space: O(1) because it is using constant space for variables

    Last Updated :
    13 Mar, 2023

    Like Article

    Save Article

    Напишем программу, которая подсчитывает количество четных элементов в массиве.

     Подсчет количества четных элементов в массиве.


    program massiv7;
    uses crt;
    const N=10;
    type x=array [1..N] of integer;
    var a:x;
    i:integer;
    k:integer;
    begin
    clrscr;
    randomize;
    for i:=1 to N do
    begin
    a[i]:= +10+random (91);
    write (A[i]:5)
    end;
    writeln;
    k:=0;
    for i:=1 to N do
    if a[i] mod 2=0 then
    begin
    k:=k+1
    end;
    writeln (‘Количество четных элементов =  ’,k:5);
    readln
    end.
    

    В строке №7 записываем переменную для хранения количества четных элементов

    В строке №13 заполняем массив случайными числами в диапазоне от +10 до +100 (включая 100).

    В строке №17 переменной для хранения количества четных чисел присваиваем первоначальное значение равное 0.

    В строке №19 записываем условие: если значение элемента массива (т.е. если сгенерированное число) делиться на 2 без остатка (т.е. остаток от целочисленного деления равен 0),  то прибавляем к переменной K единицу (т.е. при наличии четного числа «K» увеличивается на 1).

    kolichestvo chetnihkh ehlementov massiva

    kolichestvo chetnihkh ehlementov massiva.


    Предыдущая статья : Вычисление суммы положительных элементов массива.

    Оглавление : Уроки Паскаль.

    Следующая статья : Определение наличия в массиве отрицательных чисел. 


    Добавить комментарий