Вопрос задан 18.02.2019 в 03:50. Предмет Информатика. Спрашивает Калихан Алихан.

Для заданного массива, состоящего из 100 целых чисел, сначала вывести все числа, встречающиеся в

нем несколько раз, а затем все числа, встречающиеся в нем только один раз.
0 0
Перейти к ответам

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

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

const
  n = 100;

var
  a: array[1..n] of integer;
  p: array[1..n, 1..2] of integer;
  {3 - индекс предыдущего элемента
   4 - индекс следующего элемента}
  i, j, e: integer;

begin
  Randomize;
  for i := 1 to n do
  begin
    e := Random(51) - 25;
    a[i] := e;
    p[i, 1] := 0;
    p[i, 2] := 0
  end;
  for i := 2 to n do
  begin
    j := i - 1;
    e := a[i];
    repeat
      if e = a[j] then
      begin
        p[j, 1] := i;
        p[i, 2] := j;
        j := 0
      end
      else
        j := j - 1
    until j = 0
  end;
  for i := 1 to n do
    if (p[i, 1] > 0) and (p[i, 2] = 0) then write(a[i]:4);
  for i := 1 to n do
    if (p[i, 1] = 0) and (p[i, 2] = 0) then write(a[i]:4);
  writeln
end.

Тестовое решение:

 -15 -21  -4  24  20  16   4  14   3   1  25  -9 -14  10  12 -13   9  -2 -16 -10 -25  21   2   8  15  -1  19  22  18 -23   6  -6 -17 -24  17 -20  -7 -12 -19  -3   7  23


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи можно воспользоваться языком программирования Python. Вот пример кода, который реализует данную функциональность:

```python def count_occurrences(arr): occurrences = {} for num in arr: if num in occurrences: occurrences[num] += 1 else: occurrences[num] = 1

multiple_occurrences = [num for num, count in occurrences.items() if count > 1] single_occurrences = [num for num, count in occurrences.items() if count == 1]

return multiple_occurrences, single_occurrences

# Пример использования arr = [1, 2, 3, 4, 3, 2, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9] multiple, single = count_occurrences(arr) print("Числа, встречающиеся несколько раз:", multiple) print("Числа, встречающиеся только один раз:", single) ```

Этот код создает функцию count_occurrences, которая принимает массив целых чисел и возвращает два списка: один содержит числа, встречающиеся несколько раз, а другой - числа, встречающиеся только один раз. Для этого функция сначала создает словарь occurrences, в котором ключами являются уникальные числа из массива, а значениями - количество их появлений в массиве. Затем она формирует списки multiple_occurrences и single_occurrences, содержащие числа с соответствующими количествами появлений.

Пример использования функции показывает, как можно получить результат для заданного массива и вывести его на экран.

0 0

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

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

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