Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2017, 16:14   #1
vas23052003
Новичок
Джуниор
 
Регистрация: 12.02.2017
Сообщений: 1
По умолчанию Утверждение: "Значение любого элемента этой последовательности – одно из трех чисел целых положительных чисел. Четвертого числа не встречается.".

Дана числовая последовательность, значения ее элементов могут быть не уникальны, и не превышают по модулю число 32000. Определить, верно ли утверждение, вывести на экран значение логической константы True или False.
Утверждение: "Значение любого элемента этой последовательности – одно из трех чисел целых положительных чисел. Четвертого числа не встречается.".
Конец последовательности – число "ноль". Проверка пустой последовательности дает - False.


Пример работы программы:
Ввод: 1 2 3 3 2 1 1 2 3 0
Вывод: True
Ввод: 1 2 3 4 3 2 3 2 1 0
Вывод: False
Ввод: 1 2 1 2 1 1 1 1 1 0
Вывод: True
vas23052003 вне форума Ответить с цитированием
Старый 13.02.2017, 11:03   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

несложно. заведите массив из трёх элементов и счётчик-индекс в этом массиве (пусть он называется index)( и в начале он равен нулю - чисел в массиве нет).
Код:
index := 0;
устанавливаем результат в TRUE;
дальше в цикле повторять
   получаем из строки очередное Число.
   если оно не равно нулю (не конец)
       тогда - проверяем от 1 до index есть такое значение в массиве. 
           если нашли,  ничего не делаем. 
           иначе (если не нашли) - увеличиваем index на 1 (index := index+1)
                  если index > 3 - устанавливаем результат в FALSE, прерываем цикл
                  иначе записываем очередное число в массив mas[Index} := Число;       
выполняем цикл, пока число не станет равным нулю.
выводим результат
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.02.2017, 21:05   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Эх, перевести бы этот алгоритм в исходник, понятный компилятору (это проще) и студенту (вот тут посложнее) .

Последний раз редактировалось digitalis; 14.02.2017 в 23:51.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти количество положительных чисел среди четырёх целых чисел. Если количество положительных чисел больше количества отрицательны grooveone Паскаль, Turbo Pascal, PascalABC.NET 5 17.12.2013 10:07
Дана последовательность из n целых чисел. Найти номер минимального элемента в этой последовательности (на Pascal) Nata111 Помощь студентам 3 16.12.2013 20:11
Дана последовательность из n целых чисел. Найти сумму нечетных элементов этой последовательности.С++ punkvalera Помощь студентам 1 13.05.2012 20:35
Дана последовательность целых чисел за которой следует 0.Найти номер максимального элемента в этой последовательности. Da Magic Помощь студентам 3 22.11.2011 23:08
TASM - нахождения максимального числа из трех положительных целых чисел и умножения максимального числа iggor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 24.05.2009 20:16