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

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

Итак формулировка задачи такова "найти все четные элементы массива ,вывести на экран, и подсчитать их количество" . Делаем
Для начала определим , что такое четное число вообще? правильно, четными числами называются числа , которые делятся на 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.
Понравилась новость? Добавь в закладки!
Хочешь получать свежие новости? Подпишись на обновления с сайта!
Рекомендуем посмотреть:
#1 | написал: Серж | 13 ноября 2011 04:16 | ICQ: |

Группа: Гости
Публикаций: 0
Комментариев: 0

Не работает эта прога


#2 | написал: Mr.Cheater | 13 ноября 2011 09:33 | ICQ: 360239964 | Пользователь offline

Группа: Администраторы
Публикаций: 33
Комментариев: 68

Программа работает , просто в ней не добавлен оператор ввода ,потому что каждый вводит по-разному . Подразумевалось , что ввод будет написан индивидуально. 
Сейчас я добавил ввод с клавиатуры для наглядности, проверьте - все работает 


#3 | написал: Виктория | 17 января 2012 16:06 | ICQ: |

Группа: Гости
Публикаций: 0
Комментариев: 0

Как сделать так что бы он 0 не считал за четное число


#4 | написал: Topcoder | 17 января 2012 18:14 | ICQ: | Пользователь offline

Группа: Администраторы
Публикаций: 14
Комментариев: 9

Замените строчку

if s[i] mod 2=0 then begin
на 
if (s[i] mod 2 = 0) and (s[i] <> 0)  then begin 


#5 | написал: Smile | 2 апреля 2012 19:29 | ICQ: |

Группа: Гости
Публикаций: 0
Комментариев: 0

Выдает 41 ошибку. в чем может быть беда?


#6 | написал: Mr.Cheater | 2 апреля 2012 20:41 | ICQ: 360239964 | Пользователь offline

Группа: Администраторы
Публикаций: 33
Комментариев: 68

Smile,
ошибка 41
Operand types do not match operator (Типы операндов не соответствуют операции).

не могли бы Вы привести пример кода и в какой среде он был использован? 


#7 | написал: andreevna | 24 мая 2012 18:28 | ICQ: | Пользователь offline

Группа: Читатели
Публикаций: 0
Комментариев: 2

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


#8 | написал: megaeregi | 4 марта 2013 21:46 | ICQ: |

Группа: Гости
Публикаций: 0
Комментариев: 0
Спасибо!
 

Добавление комментария

Ваше Имя:
Ваш E-Mail:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Вставка исходного кода Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера

Введите два слова, показанных на изображении: