У меня есть двумерный массив. Мне нужно подсчитать количество чётных его элементов и вывести это количество на экран. Как это сделать?
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
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
ЕвгенийЕвгений
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
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ø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 |
|||
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 |
|||
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
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).
Предыдущая статья : Вычисление суммы положительных элементов массива.
Оглавление : Уроки Паскаль.
Следующая статья : Определение наличия в массиве отрицательных чисел.