В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
theanuta11
theanuta11
16.05.2022 19:38 •  Информатика

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

Показать ответ
Ответ:
MrtMiyaGi
MrtMiyaGi
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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота