Задать вопрос
27 января, 22:39

Заполнить массив случайными целыми числами и выделить в другой массив все числа, которые встречаются более одного раза. (Паскаль)

+1
Ответы (1)
  1. Н
    28 января, 00:58
    0
    const

    n = 15;

    var

    a, b: array[1 ... n] of integer;

    i, j, step, t: integer;

    flag: boolean;

    begin

    Randomize;

    Writeln ('Исходные элементы массива') ;

    for i : = 1 to n do

    begin

    a[i] : = Random (10) - 5;

    Write (a[i]:4)

    end;

    { Сортируем массив (метод Шелла) }

    step : = n div 2;

    while step > 0 do

    begin

    for j : = n - step downto 1 do

    begin

    i : = j;

    while i < = n - step do

    begin

    if a[i] > a[i + step] then

    begin

    t : = a[i]; a[i] : = a[i + step]; a[i + step] : = t

    end;

    i : = i + step

    end

    end;

    step : = step div 2

    end;

    {

    проходим по массиву и если элемент встречается более одного раза подряд,

    переносим его в другой массив

    }

    j : = 0; t : = a[1]; flag : = false;

    for i : = 2 to n do

    begin

    if (a[i] = t) and (not flag) then

    begin

    j : = j + 1; b[j] : = t; flag : = true

    end

    else begin flag : = false; t : = a[i] end

    end;

    Writeln;

    Writeln ('Отобранные элементы массива') ;

    for i : = 1 to j do Write (b[i]:4) ;

    Writeln

    end.

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

    Исходные элементы массива

    -2 4 1 - 3 - 1 - 2 - 5 - 1 2 4 1 3 - 5 - 2 - 3

    Отобранные элементы массива

    -5 - 3 - 2 - 1 1 4
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Заполнить массив случайными целыми числами и выделить в другой массив все числа, которые встречаются более одного раза. (Паскаль) ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы
Войти
Задать вопрос