Напишите программу, которая выделяет в другой массив все элементы исходного массива, которые встречаются более одного раза. Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
Программа должна вывести содержимое полученного массива: все элементы исходного массива, которые встречаются более одного раза, в том же порядке. Если таких нет, нужно вывести число 0.
НА С++
var
a, b: Array[1..10000] Of Byte;
rep: Set Of Byte;
i, n, m: Word;
begin
rep := []; m := 0;
ReadLn(n);
for i := 1 to n do
begin
Read(a[i]);
if (a[i] in rep)
then
begin
Inc(m);
b[m] := a[i];
end
else
Include(rep, a[i]);
end;
WriteLn;
if (m = 0)
then
Write(0)
else
for i := 1 to m do
Write(' ', b[i]);
end.
Объяснение: Вроде правильно