Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/103: Рейтинг темы: голосов - 103, средняя оценка - 4.88
Кот форума
9 / 9 / 5
Регистрация: 02.03.2020
Сообщений: 183

Вывести четные элементы

04.03.2020, 19:15. Показов 22407. Ответов 20

Студворк — интернет-сервис помощи студентам
Дан массив, состоящий из целых чисел. Напишите программу, которая выводит те элементы массива, которые являются чётными числами.
Входные данные

Сначала задано число N — количество элементов в массиве (1N100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел.
Выходные данные

Необходимо вывести все четные элементы массива (то есть те элементы, которые являются четными числами).
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
program chotnoe_ic_massiva;
var a:array of integer;
n,i:integer;
begin
  read(n);
  setlength(a,n);
  for i:=0 to n-1 do read(a[i]);
  i:=0;
  while i<=n-1 do begin
    write(a[i]:4);
    i:=i+2;
  end;
end.
Данная прога выводит чётные переменные из динамического массива (нужно подредактировать),а нужно числа(чётные)
Если сможете написать ещё и для нечётных будет вообще огонь(спасибо точно всем накинуну а за лучший ответ побороться придётся )
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.03.2020, 19:15
Ответы с готовыми решениями:

Дан целочисленный массив размера N. Вывести вначале все его четные элементы, а затем нечетные
Помогите пожалуйста

Вывести на экран четные элементы числового множества, которое является пересечением двух других множеств.
Нужна помощь!!! Вывести на экран четные элементы числового множества, которое является пересечением двух других множеств. Заранее...

Найти минимальный элемент массива и вывести на экран все чётные элементы массива.
НУЖНО СОСТАВИТЬ АЛГОРИТМ В ВИДЕО БЛОК-СХЕМЫ И НАПИСАТЬ ПРОГРАММУ ДЛЯ РЕШЕНИЯ ЗАДАЧИ С ИСПОЛЬЗОВАНИЕМ ПРОЦЕДУР И ФУНКЦИЙ: ЗАДАТЬ МАССИВ...

20
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
04.03.2020, 21:33
Лучший ответ Сообщение было отмечено Darkcat112 как решение

Решение

1)Новый вариант:
Pascal
1
2
3
4
5
begin
  var a := ReadArrInteger(ReadInteger('Введите кол-во элементов массива:'));
  a.Where(i -> not Odd(i)).Println;//Четные
  a.Where(i -> Odd(i)).Println;//Нечетные
end.
2)Ваш,дополненный:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program chotnoe_ic_massiva;
 
var
  a: array of integer;
  n, i: integer;
 
begin
  read(n);
  setlength(a, n);
  for i := 0 to n - 1 do read(a[i]);
  write('Четные:');
  for i := 0 to n - 1 do 
    if not Odd(a[i])
      then write(a[i], ' ');
  writeln;
  write('Нечетные:');
  for i := 0 to n - 1 do 
    if Odd(a[i])
      then write(a[i], ' ');
end.
1
60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233
04.03.2020, 22:08
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const n=20;
var i:byte;
  a:array[1..n]of byte;
  
begin
  for i:=1 to n do begin
    a[i]:=random(76)+10;
    write(a[i]:3); end;
  writeln;
  write('Четные числа:');
  for i:=1 to n do
    if a[i] mod 2 = 0 then
      write(a[i]:3);
end.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
04.03.2020, 22:11
Лучший ответ Сообщение было отмечено Darkcat112 как решение

Решение

Andrew_97, Зачем вам статичный массив?

Добавлено через 50 секунд
Andrew_97, и по заданию элементы массива должен вводить сам пользователь
1
Кот форума
9 / 9 / 5
Регистрация: 02.03.2020
Сообщений: 183
05.03.2020, 19:31  [ТС]
Пс, Спасибо что ответили(вижу вы зашди на мои темы),благодарю,но можете объяснить такую команду как Odd?
Я такую команду не встречал(но думаю как то связано с чёт и нечёт числами)
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
05.03.2020, 19:54
Лучший ответ Сообщение было отмечено Darkcat112 как решение

Решение

Darkcat112, Прочитайте описание

Добавлено через 12 минут
Pascal
1
function Odd(i: integer) :=not i mod 2 = 0;
1
60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233
05.03.2020, 19:59
Pascal
1
function odd(x:longint):boolean;
Главное отличие процедуры от функции : 1)процедура должна быть использована как отдельный вид оператора;
2) функция обязательно должна быть встроена во что-то. Odd проверяет. является ли аргумент нечетным числом (результат равен True (правда), если проверяемое число нечетное, и False - в противном случае).

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
const n=25;
var i:integer;
  a:array[1..n]of integer;
  
begin 
  for i:=1 to n do begin
    a[i]:=random(65)+35;
    write(a[i]:3); end;
  writeln;
  for i:=1 to n do
    if odd(a[i]) then
      write(a[i]:3);
end.
Если есть желание, то рекомендую вам ознакомиться с процедурами и функциями. Процедуры и функции (подпрограммы) облегчают жизнь программиста во многом и увеличивают ценность вашего кода.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
05.03.2020, 20:08
Andrew_97, "Функция обязательно должна быть встроена во что-то"
Это как?Можете примен привести?
1
Кот форума
9 / 9 / 5
Регистрация: 02.03.2020
Сообщений: 183
05.03.2020, 20:30  [ТС]
Цитата Сообщение от Пс Посмотреть сообщение
Можете примен привести?
Наверное тут пример надо привести
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
05.03.2020, 20:32
Darkcat112, Наверное.
1
60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233
05.03.2020, 20:34
Если мы хотим заполнить массив произвольным образом, то нужно воспользоваться функцией random. При каждом витке цикла [1..n] функция будет нам возвращать произвольное число, принадлежащее [25;54]. Например, заполняем массив произвольным образом числами [-25;25]. Всего чисел 51: до нуля 25 отрицательных, 0, 25 положительных. i-ому элементу массива мы должны присвоить одно из таких значений, где i принадлежит [1..n] : 1, 2, 3, ... , 25. Каждый раз a[i] элементу массива будет выбрано произвольное число [-25;25]. Здесь функция встраивается в a[i]. Просто так, как отдельные команды - функции не используют, обязательно нужно пристроить их к чему-либо. В данном случае, к i элементу массива a[i].

Pascal
1
2
3
4
5
6
7
8
9
10
const n=25;
var i:integer;
  a:array[1..n]of integer;
  
begin
  // randomize;
  for i:=1 to n do begin
    a[i]:=random(30)+25;
    write(a[i]:3); end;    
end.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
05.03.2020, 20:38
Не используйте статичные массивы
Pascal
1
2
3
begin
   var a:=RandomArr(5,25,50)
end.
0
Кот форума
9 / 9 / 5
Регистрация: 02.03.2020
Сообщений: 183
05.03.2020, 20:40  [ТС]
Цитата Сообщение от Andrew_97 Посмотреть сообщение
Если мы хотим заполнить массив произвольным образом, то нужно воспользоваться функцией random.
Ключевое слово если...В условие сказано о динамическом массиве который был создан и надо было просто добавить условие)
0
60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233
05.03.2020, 20:44
Пс,
Благодарю вас за совет, обязательно прислушаюсь, нужно почитать о других видах массивов, интуиция подсказывает, что это динамические массивы. Но, сначала нужно изучить статические, от простого к сложному.

Darkcat112,
Вот пример, как заполнить одномерный массив, содержащий 25 элементов, произвольным образом через подпрограмму (процедуру), числами [-25;25].

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const n=25;
type matrix=array[1..n]of integer;
var b:matrix;
 
procedure massiv(var a:matrix);
var i:integer;
begin
  for i:=1 to n do begin
    a[i]:=random(51)-25;
    write(a[i]:4); end;
end;
 
begin
  massiv(b);
end.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
05.03.2020, 20:46
Andrew_97, Нет смысла изучать статичные массивы,тем более в .Net .
0
60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233
05.03.2020, 20:50
Пс, благодарю вас за совет, постараюсь познакомиться с динамическими массивами в ближайшее время.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
05.03.2020, 20:51
Andrew_97, Если будут вопросы,обращайтесь
0
60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233
05.03.2020, 21:01
Пс, интересный пример использования пользовательской функции (подпрограммы). Здесь узнаем, простое у нас число или нет. Как мы видим, функция встроена в условный оператор (if).

Pascal
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
var a:byte;
 
function prost(a:integer):boolean;
var i:integer;
  f:boolean;
  
begin
  if a<2 then
    f:=false
  else begin
    f:=true;
    i:=2;
    while (sqr(i)<=a) and f do
      if a mod i <> 0 then
        inc(i)
      else
        f:=false; end;
  prost:=f;
end;
 
begin
  write('Введите натуральное число > 2:');
  readln(a);
  if prost(a) then
    writeln('- это простое число')
  else
    writeln('- это составное число');
end.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
05.03.2020, 21:08
Andrew_97, Я знаю)
Можно еще и так сделать:
Pascal
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
var a:byte;
 
function prost(self:integer):boolean;extensionmethod;
var i:integer;
  f:boolean;
  
begin
  if self<2 then
    f:=false
  else begin
    f:=true;
    i:=2;
    while (sqr(i)<=self) and f do
      if self mod i <> 0 then
        inc(i)
      else
        f:=false; end;
  prost:=f;
end;
 
begin
  write('Введите натуральное число > 2:');
  readln(a);
  if a.prost then
    writeln('- это простое число')
  else
    writeln('- это составное число');
end.
Добавлено через 1 минуту
И еще,не обязательно использовать имя функции,для возвращения результата.Можно использовать result внутри тела функции
1
60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233
05.03.2020, 21:14
Пс, или я ошибаюсь?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
begin
  if a<2 then
    f:=false
  else begin
    f:=true;
    i:=2;
    while (sqr(i)<=a) and f do
      if a mod i <> 0 then
        inc(i)
      else
        f:=false; end;
  result:=f;
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.03.2020, 21:14
Помогаю со студенческими работами здесь

Вывести четные элементы массива, и те элементы, которые делятся на 7
Дан массив из 10 целых чисел, вывести четные элементы массива и те элементы, которые делятся на 7

Вывести четные элементы массива
Требуется написать программу Сначала задано число N - количество элементов в массиве. Далее через пробел записаны N чисел - элементы...

Вывести на экран элементы, большие 3, имеющие четные номера
Создать массив,генерируя числа,используя функцию randomize .Вывести на экран элементы,большие 3,имеющие четные номера!Помогите плизз!

Определить все четные элементы массива и вывести их на экран
массив задан 5 элементами с клавиатуры. определить все четные элементы и вывести их на экран.если таких нет то вывести &quot;таких...

Вывести на экран сначала четные элементы массива потом нечетные
Дан массив целых чисел. Вывести на экран сначало четные элементы массива потом не четные


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru