Массив: Получить 3-е множество путем пересечения двух заданных множеств - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Даны 2 множества, получить 3-е множество путем пересечения двух множеств. Удалить все четные элементы множества. Найти элемент равный размерности множества после удаления элементов.

Решение задачи: «Массив: Получить 3-е множество путем пересечения двух заданных множеств»

textual
Листинг программы
begin
  var S := ReadArrInteger(ReadlnInteger('Count1: ')).Intersect(ReadArrInteger(ReadlnInteger('Count2: '))).Where(x -> not Odd(x));
  var A := S.Where(x -> x = S.Count());
  Writeln(A.Count() <> 0 ? A.First().ToString() : 'отсутствует искомый элемент');
end.

Объяснение кода листинга программы

В этом коде:

  1. var S := ReadArrInteger(ReadlnInteger('Count1: ')).Intersect(ReadArrInteger(ReadlnInteger('Count2: '))).Where(x -> not Odd(x));
    • Сначала мы считываем два массива целых чисел, используя функцию ReadlnInteger, которая принимает строку-метку для ввода.
    • Затем мы пересекаем эти два массива, используя метод Intersect.
    • После этого мы фильтруем пересечение, используя метод Where, чтобы оставить только нечетные числа.
    • Полученный массив S содержит искомые числа.
  2. var A := S.Where(x -> x = S.Count());
    • Мы используем метод Where, чтобы отфильтровать массив S, оставляя только элементы, равные его размеру.
    • Это означает, что мы ищем элемент, который встречается в массиве S столько же раз, сколько и его размер.
  3. Writeln(A.Count() <> 0 ? A.First().ToString() : 'отсутствует искомый элемент');
    • Мы используем метод Writeln для вывода результата.
    • Если массив A не пустой, мы выводим первый элемент массива A, преобразованный в строку.
    • Если массив A пустой, мы выводим строку отсутствует искомый элемент.

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы