Даны целые числа а1,...,аn (в этой последовательности могут быть повторяющиеся члены)....

0 голосов
67 просмотров

Даны целые числа а1,...,аn (в этой последовательности могут быть повторяющиеся члены). получить все числа, которые входят в последовательность по одному разу.


Информатика (189 баллов) | 67 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Само собой, числа a1..an надо поместить в массив. Если его упорядочить по возрастанию (или убыванию), то элементы с одинаковыми значениями окажутся рядом и их легко будет пропустить.

var
  a:array[1..n] of integer;
  i,j,t:integer;
begin
  { инициализация массива }
  Randomize;
  Writeln('Элементы массива');
  for i := 1 to n do
  begin
    a[i]:=Random(10);
    Write(a[i]:3);
  end;
  Writeln;
  { сортировка по возрастанию методом пузырька }
  for i := 1 to n-1 do
    for j := 1 to n-i do
      if a[j] > a[j+1] then
      begin t := a[j]; a[j] := a[j+1]; a[j+1] := t end;
  { вывод неповторяющихся значений }
  Writeln('Уникальные значения элементов');
  t:=a[1]; Write(t:3);
  for i:=2 to n do
    if a[i]<>t then begin t:=a[i]; Write(t:3) end;
  Writeln
end.

Тестовое решение:
Элементы массива
  9  6  1  6  1  4  5  9  1  2  6  7  7  6  1  7  7  8  0  8
Уникальные значения элементов
  0  1  2  4  5  6  7  8  9

(142k баллов)