Задать вопрос
16 марта, 17:55

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

+3
Ответы (1)
  1. 16 марта, 18:25
    0
    Основная идея: во вспомогательном массиве 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
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Для заданного массива, состоящего из 100 целых чисел, сначала вывести все числа, встречающиеся в нем несколько раз, а затем все числа, ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы
Похожие вопросы по информатике
В записи m[7]=9 m обозначает 1) имя массива 2) имя элемента массива 3) номер элемента массива 4) значение элемента массива в записи m[7]=
Ответы (1)
1. Возвести в квадрат все элементы массива A. Размер массива и значения элементов массива - произвольные. 2. Увеличить на 4 все элементы в первой половине массива A (считать, что в массиве чётное число элементов).
Ответы (1)
1. Массив и 4 целых чисел вводится с клавиатуры. Найти и вывести произведение элементов массива. 2. Массив из 6 отрицательных и положительных целых чисел вводится в области описания констант. Найти сумму положительных элементов массива. 3.
Ответы (1)
1) Найти сумму отрицательных элементов массива целых чисел. Размерность массива 10. Заполнение массива осуществить случайными числами от - 20 до 20. 2) Найдите сумму чётных элементов массива целых чисел. Размерность массива 20.
Ответы (1)
Написать программу, позволяющую для заданного одномерного массива А из n вещественных или целых элементов реализовать обработку массива. Длина массива N задается пользователем как константное выражение.
Ответы (1)