Написать программу на паскале: дано 2 массива размерностью n состоящих из различных целых чисел. получить 3 массива a - массив объединения, b - массив пересечения, с - массив разность. алгоритм должен быть линейной сложности. a= {1,2,3,4,5}b={3,4,5,6,7}a) c={1,2,3,4,5,6,7}b) c={3,4,5}c) c={1,2}
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var a:=ArrRandom(n,-50,50); a.Println;
var s:=a.Where(t->t.IsEven); s.Println; Writeln('Кол-во = ',s.Count);
s:=a.Where(t->t.IsOdd).Reverse; s.Println; Writeln('Кол-во = ',s.Count);
var imax:=a.IndexMax;
Writeln('Номер максимального элемента- ',imax+1,
', его значение- ',a[imax])
end.
Пример
n= 15
-39 29 23 4 -26 41 23 -9 10 49 -24 39 -28 19 15
4 -26 10 -24 -28
Кол-во = 5
15 19 39 49 -9 23 41 23 29 -39
Кол-во = 10
Номер максимального элемента- 10, его значение- 49
1
lst = [int(input()) for _ in range(int(input()))]
print(*[i for i in lst if i % 2 == 1])
print(len([i for i in lst if i % 2 == 1]))
2
lst = [int(input()) for _ in range(int(input()))]
print(*[i for i in lst[::-1] if i % 2 == 0])
print(len([i for i in lst if i % 2 == 0]))
3
lst = [int(input()) for _ in range(int(input()))]
print(*[i for i in lst if i % 2 == 0])
print(*[j for j in lst[::-1] if j % 2 == 1])
4(вообще индексация начинается с 0, но написано 'порядковыми')
a = [int(input()) for _ in range(int(input()))]
k = int(input('Введите k: '))
print(*[a[i] for i in range(k - 1, len(a), k)])
5(тоже самое, вторым я считаю элемент, который ввели вторым по счету, а не второй элемент по индексу)
a = [int(input()) for _ in range(int(input()))]
print(*[i for i in a[1::2]])
Пиши, если нужно исправить 4 или 5