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

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - 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,238
По умолчанию

несложно. заведите массив из трёх элементов и счётчик-индекс в этом массиве (пусть он называется 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,536
По умолчанию

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

Последний раз редактировалось 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