Используйте одномерный массив для решения следующей . прочитайте 20 чисел, каждое из которых находится в диапазоне от 10 до 100 включительно. после того, как прочли очередное число, напечатайте его, но только в том случае, если оно не дублирует ранее прочитанные числа. предусмотрите "наихудший" случай, когда все 20 чисел различны. используйте наименьший возможный массив для решения этой . паскаль! 20

mkagermazov mkagermazov    2   01.09.2019 07:40    4

Ответы
LayLay1337 LayLay1337  06.10.2020 09:20
Для того, чтобы узнать, не встречалось ли 20-е число раньше, надо помнить, какие числа были до этого. Так что без массива с меньшим размером, чем 19, не обойтись (на самом деле это так, только если в каждом элементе массива хранить только одно число. Но мы так и будем делать). 

Алгоритм для решения задачи выберем простой: записываем все предыдущие числа в массив и для каждого следующего числа проходим по массиву.

var
  a: array[1..19] of byte;
  i, j, t: byte;

begin
  for i := 1 to 20 do
  begin
    read(t);
    if i < 20 then a[i] := t;
    for j := 1 to i - 1 do
      if a[j] = t then
        t := 0;
    if t > 0 then write(t, ' ');
  end;
end.

Пример ввода:
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10

Пример вывода:
1 2 3 4 5 6 7 8 9 10
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика