Как найти четные числа в паскале массив

Иван 123

1

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

11.03.2010, 20:49. Показов 25213. Ответов 2


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

Подскажите ,как найти количество четных чисел в массиве

Ngx1

2 / 2 / 4

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

Сообщений: 9

11.03.2010, 23:50

2

Лучший ответ Сообщение было отмечено как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Program aa;
var i,n : integer;
A :Array[1..3] OF INteger;
begin
n:=0;
For i:=1 To 3 Do begin
Readln(a[i]);
end;
For i:=1 To 3 Do begin
If a[i] mod 2 =0 Then n:=n+1
end;
writeln('Kol-vo 4etHbIX elementoB  :',n);
Readln;
End.



0



Inadequate

Retired

7726 / 2558 / 671

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

Сообщений: 5,100

12.03.2010, 08:02

3

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const
  N = 10;
var
  i,c: integer;
  a: array [1..N] of integer;
begin
  Randomize;
  c := 0;
  for i := 1 to N do
  begin
    a[i] := Random(8) - 4;
    if a[i] mod 2 = 0 then
      Inc(c);
    Write(a[i], ' ');
  end;
  WriteLn('Result: ', c);
  ReadLn
end.



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.

В данной статье я написал, что такое массивы в Паскале, и как их использовать благодаря языку программирования. Для примера, в конце статьи, написана простая программа, которая определяет четность числа и выводит из массива на экран четные числа.

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

Пример объявления массива целых чисел в разделе констант:

const
int_num = (1,5,8,2,44,7,3,66,4,7,34,7896,23463456,23,1,85456,44354,9);

Пример объявления массива целых чисел в разделе переменных:

var

int_number: array[1..1000] of integer;

Чтобы обратится (записать значение) к массиву, необходимо указать, к какому конкретно элементу массива Вы хотите обратится:

int_number[587]:= 24545;

Но если Вы хотите скопировать все значения массива number_1 в массив number_0, то можно записать так:

number_0:= number_1; {number_0[1]:=number_1[1], number_0[2]:=number_1[2], ...}

Естественно для такой операции элементы массивы в Паскале должны иметь одинаковый тип.

Чтобы обработать большое количество элементов массива, для удобства используют циклы.

Например, цикл «for»:

for i:= 1 to 1000 do
begin
int_number[i]:=random(9); {Записываем случайное число}
end;

Например, цикл «while»:

while i<=1000 do
begin
i:=i+1; {Увеличиваем счетчик на единицу}
int_nember[i]:=random(9); {Записываем случайное число}
end;

Массивы могут быть многомерными.
Пример двумерного массива (матрица):

var
mat_num: array[1..100, 1..100] of real;

Чтобы присвоить значения такому массиву необходимо уже два цикла, один будет вложен в другой:

for i1:=1 to 100 do
begin
for i2:=1 to 100 do
begin
mat_num[i1,i2]:=random(87)+sin(i1)*pi;
end;
end;

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


PROGRAM Chetnye_chisla; {Имя программы}
uses Crt; {Подключаем модуль Crt, необходимо для функции clrscr}
var {Раздел объявления переменных}
i,j: integer; {i- наши числа j- индекс массива}
ostatok: real; {Для проверки наличия остатка от деления}
ch_chisla: array[1..50] of integer; {Массив, в котором будут хранится четные числа}
BEGIN {Начало выполнения программы}
clrscr; {Для начала очищаем экран}
for i:=1 to 100 do {Начало цикла}
begin
ostatok:= i mod 2; {Определяем четность, делим число на 2}
if ostatok=0 then {Если нет остатка от деления, значить число четное}
begin
j:=j+1; {Увеличиваем индекс цикла на единицу}
ch_chisla[j]:=i; {Записываем четное число в массив}
write(i,' '); {Выводим на экран четное число и пробел}
end;
end;
readln; {Нужно чтобы увидеть результат - компьютер будет ждать нажатия "Enter"}
END. {Конец программы}

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

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

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


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.


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

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

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


Перейти к содержанию

Определить индексы четных элементов массива

Просмотров 3.1к. Обновлено 15 октября 2021

Во втором массиве сохранить индексы четных элементов первого массива. Например, если дан массив со значениями 8, 3, 15, 6, 4, 2, то второй массив надо заполнить значениями 1, 4, 5, 6 (или 0, 3, 4, 5 — если индексация начинается с нуля), т.к. именно в этих позициях первого массива стоят четные числа.

  1. Ввести для второго массива счетчик элементов.
  2. В цикле перебирая все элементы первого массива,
    1. проверять их на четность.
    2. Если элемент четный, то
      1. заносить его индекс в очередную ячейку второго массива,
      2. увеличивать на 1 значение счетчика элементов второго массива.
  3. Вывести на экран элементы второго массива от первого до последнего, на индекс которого указывает счетчик элементов второго массива (чаще за вычетом 1).

Pascal


const N = 15;
var
arr, even: array[1..N] of integer;
i, j: byte;
begin
randomize;
for i:=1 to N do begin
arr[i] := random(11);
write(arr[i]:4)
end;
writeln;

j := 0;
for i:=1 to N do
if arr[i] mod 2 = 0 then begin
j := j+1;
even[j] := i;
end;

write('Индексы четных элементов: ');
for i:=1 to j do
write(even[i], ' ');
writeln;
end.



5 2 6 10 7 7 3 7 10 2 1 9 1 1 1
Индексы четных элементов: 2 3 4 9 10

Язык Си


#include < stdio.h>
#define N 10
main() {
int arr[N], even[N], i, j;
srand(time(NULL));
for (i=0; i< N; i++) {
arr[i] = rand()%11+10;
printf("%d ", arr[i]);
}
printf("n");
j = 0;
for (i=0; i< N; i++)
if (arr[i] % 2 == 0) {
even[j] = i;
j += 1;
}
printf("Индексы четных элементов: ");
for (i=0; i< j; i++)
printf("%d ", even[i]);
printf("n");
}



14 17 13 20 20 18 11 12 12 11
Индексы четных элементов: 0 3 4 5 7 8

Python

четные индексы python


from random import randint
N = 5

arr = [0] * N
even = []

for i in range(N):
arr[i] = randint(10, 19)
if arr[i] % 2 == 0:
even.append(i)

print(arr)
print('Индексы четных элементов: ', even)



[14, 18, 11, 15, 16]
Индексы четных элементов: [0, 1, 4]

КуМир


алг индексы четных элементов
нач
цел N = 15
цел таб arr[1:N], even[1:N]
цел i,j
нц для i от 1 до N
arr[i] := int(rand(0,11))
вывод arr[i], " "
кц
вывод нс
j := 0
нц для i от 1 до N
если mod(arr[i],2) = 0 то
j := j + 1
even[j] := i
все
кц
вывод "Индексы четных элементов: "
нц для i от 1 до j
вывод even[i], " "
кц
кон



7 5 8 4 2 0 2 7 4 10 9 4 0 6 6
Индексы четных элементов: 3 4 5 6 7 9 10 12 13 14 15

Basic-256


N = 10
dim arr(N)
dim even(N)
for i=0 to N-1
arr[i] = int(rand *10) + 10
print arr[i] + " ";
next i
print
j = 0
for i=0 to N-1
if arr[i] % 2 = 0 then
even[j] = i
j = j + 1
endif
next i
print "Индексы четных элементов: "
for i=0 to j-1
print even[i] + " ";
next i



10 13 18 19 17 16 12 12 18 10
Индексы четных элементов:
0 2 5 6 7 8 9

Понравилась статья? Поделить с друзьями:
  • Как найти скорость если есть коэффициент трения
  • Как найти панель инструментов в телефоне
  • Как составить предложение чтобы каждое слово начиналось с одной буквы
  • Как найти поставщика дерева
  • Как исправить работодателем больничные листы неправильно заполненные