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

Напишите программу, которая выделяет в другой массив все элементы исходного массива, которые встречаются более одного раза. Входные данные Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 . Выходные данные Программа должна вывести содержимое полученного массива: все элементы исходного массива, которые встречаются более одного раза, в том же порядке. Если таких нет, нужно вывести число 0. Примеры входные данные 6 4 1 2 1 2 3 выходные данные 1 2 помогите пожалуйста,не понимаю как делать
Гость
Ответ(ы) на вопрос:
Гость
Заведём ещё один массив и будем в него записывать, правда ли, что в массиве есть элементы, равные данному, и текущий элемент - первый из них. Затем выведем все элементы, для которых это оказалось правдой. Pascal var   i, j, n: integer;   flag: boolean;   a: array[1..10000] of integer;   b: array[1..10000] of boolean; begin   read(n);   for i := 1 to n do   begin     read(a[i]);     b[i] := true;   end;   b[n] := false;   for i := 1 to n - 1 do     if b[i] then     begin       flag := true;       for j := i + 1 to n do         if a[i] = a[j] then         begin           flag := false;           b[j] := false;         end;         if flag then           b[i] := false;     end;   for i := 1 to n do     if b[i] then       write(a[i], ' '); end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы