Напишите программу, которая выделяет в другой массив все элементы исходного массива, которые встречаются более одного раза.


Входные данные

Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .


Выходные данные

Программа должна вывести содержимое полученного массива: все элементы исходного массива, которые встречаются более одного раза, в том же порядке. Если таких нет, нужно вывести число 0.

НА С++


pbellay: 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.
Hjjj6: Надо на c++
Hjjj6: надо на с++

Ответы

Ответ дал: pbellay
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.

Объяснение: Вроде правильно


Hjjj6: Надо на c++
pbellay: А, тогда сорян - не владею. Можно поискать компилятор с паскаля на с++
Вас заинтересует