Ответ:
const N = 10;
begin
var a := ArrRandom(N, 0, 20);
var b := ArrRandom(N, 0, 20);
var c := ArrRandom(N, 0, 20);
write('Массив a: '); a.Println();
write('Массив b: '); b.Println();
write('Массив c: '); c.Println();
write('Элементы, принадлежащие всем трем массивам: ');
a.FindAll(x->b.Contains(x) and c.Contains(x)).Distinct(
).PrintLn();
end.
Объяснение:
Первые три строки после begin создают три массива a,b,c и заполняют их N целыми числами в диапазоне от 0 до 20.
Конструкция "a.FindAll(x->b.Contains(x) and c.Contains(x)).Distinct().PrintLn();" делает следующее:
В массиве a выполняется поиск всех элементов (метод FindAll), удовлетворяющих условию:
x->b.Contains(x) and c.Contains(x)
Которое проверяет каждый элемент массива a (который обозначен x), содержится ли он в массиве b и массиве c (Методы Contains).
Далее метод Distinct удаляет все одинаковые элементы из получившейся последовательности, а метод PrintLn выводит результат на экран.