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

Ответы 1

  •  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);  Writelnend.Тестовое решение:Исходные элементы массива  -2   4   1  -3  -1  -2  -5  -1   2   4   1   3  -5  -2  -3Отобранные элементы массива  -5  -3  -2  -1   1   4
    • Автор:

      andrew
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years