Предмет: Информатика, автор: kirillyarovenko2

Дано целочисленный массив. Найдите количество четных элементов.Паскаль

Ответы

Автор ответа: Аноним
0
// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
begin
  var a:=ArrRandom(ReadInteger('n='),1,100); a.Println;
  Writeln('Четных элементов: ',a.Where(x->x.IsEven).Count)
end.

Тестовое решение
n= 15
48 48 85 94 39 45 22 16 75 51 85 97 91 31 92
Четных элементов: 6
Автор ответа: noskovee
0
Здорово. А что за знак "->"?
Автор ответа: Аноним
0
Это введенная в ПаскальАВС.НЕТ начиная с версии 3.0 операция, взятая из функционального программирования. x->x.IsEven читается "х переходит в х.Нечетное". Подробнее смотрите в интернет по поиску "лямбда-выражения".
Автор ответа: Аноним
0
Все это работает следующим образом. ReadInteger('n=') делает запрос на ввод целого числа и как обычная функция возвращает введенное значение. ArrRandom(количество,1,100) динамически создает целочисленный массив нужного размера и заполняет его случайными числами от 1 до 100. Результат присваивается массиву а. Далее a.Println; выводит этот массив.
Автор ответа: Аноним
0
Конструкция a.Where(x->x.IsEven).Count при помощи a.Where обращается к каждому элементу массива и выбирает только те, которые удовлетворяют условию четности. Такая "отфильтрованная" последовательность попадает "в руки" Count, и получаем количество элементов в ней.
Автор ответа: Аноним
0
И да, описка. Надо читать x->x.IsEven читается "х переходит в х.Четное".
Автор ответа: noskovee
0
В ответе прилагаю файл.
Приложения:
Похожие вопросы
Предмет: Українська мова, автор: jdirbjsiebeb
Предмет: Математика, автор: tommoon