Вопрос задан 19.03.2019 в 11:28. Предмет Информатика. Спрашивает Жукова Рина.

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

встречаются более одного раза. Входные данные Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 . Выходные данные Программа должна вывести содержимое полученного массива: все элементы исходного массива, которые встречаются более одного раза, в том же порядке. Если таких нет, нужно вывести число 0. Примеры входные данные 6 4 1 2 1 2 3 выходные данные 1 2 помогите пожалуйста,не понимаю как делать
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шилин Славок.
Заведём ещё один массив и будем в него записывать, правда ли, что в массиве есть элементы, равные данному, и текущий элемент - первый из них. Затем выведем все элементы, для которых это оказалось правдой.

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.
0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос