|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.11.2019, 19:55 | #1 |
Регистрация: 04.10.2016
Сообщений: 7
|
Последовательности 0 и 1.
Здравствуйте, кто бы мог подсказать, как решить такую задачу. Имеется 3 последовательности, состоящие и единиц и нулей. (Окончание ввода последовательности будет при помощи целого числа больше 1).
Необходимо определить все позиции, где цепочка начинается с 0. (Один 0 - это не цепочка). Строки символов не использовать. Ввод чисел осуществляется с клавиатуры по одному числу в каждой цепочке. |
04.11.2019, 23:25 | #2 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
На примере одной последовательности.
Цикл по массиву, от первого до ПРЕДПОСЛЕДНЕГО ЭЛЕМЕНТА. Надо рассматривать левого и правого соседа текущего элемента, при условии, что он равен 0. Если текущий элемент первый в массиве или его левый сосед не равен 0, то возникает подозрение не цепочку (честно говоря, можно не проверять, первый ли это элемент в массиве, можно проверить только левого соседа). Чтобы его подтвердить, надо посмотреть на правого соседа. Если он не равен нулю, значит, это не цепочка. По мере прохождения по циклу вам надо запоминать позиции начала цепочек. Позиции совпадают с позициями текущих элементов. |
05.11.2019, 08:35 | #3 |
Регистрация: 04.10.2016
Сообщений: 7
|
Если я правильно понимаю задание. Мы вводим не всю цепочку сразу (например:001010100), а каждое число этой цепочки поочерёдно (отдельно)
|
05.11.2019, 11:58 | #4 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Не цепочку, а последовательность, вы хотели сказать?
Тем не менее, никаких проблем нет Сначала вы вводите 0, потом 1, потом 1, потом 0, потом... и так далее. В итоге вы имеете последовательность: 0110... Её и обрабатываем, как я показал... |
05.11.2019, 13:14 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
он, наверное, хотел сказать, что тут можно обойтись без массива.
достаточно две переменные - текущее значение, которое вводится в цикле и предыдущее. ну и вспомогательные. вот на псевдокоде алгоритм примерно так: Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Напишите программу, которая в последовательности целых чисел определяет их сумму и подсчитывает разность количества положительных и отрицательных чисел последовательности. | roma1808 | C# (си шарп) | 0 | 08.05.2018 23:33 |
с++ Вводится последовательность ненулевых чисел,0-конец последовательности, определить наибольшее число в последовательности | ЮськаЮськовна | Помощь студентам | 3 | 10.11.2015 15:20 |
Если число x встречается в последовательности, упорядочить по невозрастанию часть последовательности (Паскаль) | димон4ик_ | Помощь студентам | 1 | 17.10.2011 23:00 |
Определить:формат последовательности параметров & способ размещения последовательности переменных | DenSyntax | Помощь студентам | 0 | 22.06.2010 17:26 |
Определить k-ую цифру последовательности Фибоначчи и последовательности натуральных чисел. | Med | Помощь студентам | 1 | 20.03.2009 11:40 |