Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Алгоритм] Длина подпоследовательностей в последовательности


Автор: MOODJO 28.5.2008, 11:57
Привет! Что то не найду на форуме такой алгоритм поэтому решила создать новую тему, если кто нибудь видел помогите.
Суть такая:
Имеется последовательность чисел 1 и 0, например, 110001010000,ее мы рабиваем на подпоследовательности 11 000 1 0 1 0000. Необходимо найти длину каждой подпоследовательности, т.е. в результате должы иметь - 231114.

Автор: SoWa 28.5.2008, 12:54
Просто прогоном по строке
Символ.
Следующий символ. Если такой-же как и предыдущий, то увеличим переменную счетчика.
Если не такой же- значение переменной счетчика вписываем в строку с длинами, обнуляем и заново.

Автор: MOODJO 28.5.2008, 15:04
к примеру
к=1
j=1
p=0
FOR i=1..n
Если a(i+1)=a(i) то k=k+1
иначе
p(j)=k
j=j+1
end if
end for

где нужно обнулять?

Автор: dereyly 28.5.2008, 23:32
к=1
j=1
p=0
FOR i=1..(n-1)
Если a(i+1)=a(i) то k=k+1
иначе
p(j)=k
k=0
j=j+1
end if
end for
p(j)=k

Автор: MOODJO 29.5.2008, 08:54
спасибо всем, разабралась, Просто я пишу в маткаде, и там была загвоздка с последним членом, но уже все в порядке. smile 

Автор: MOODJO 9.6.2008, 13:50
Привет всем!
Такая задача: Есть ряд 5 4 1 1 1 1 7 8. Необходимо получить ряд 5 4 4 7 8. ПОМОГИТЕ!!!!!!!!!!!!!!!

Автор: LisaAlisa 19.6.2008, 17:13
М.. не совсем поняла условие задачи. Заменить ряд одинаковых цифр  цифрой, предшествующей ряду или как? Можно поконкретней? 

Автор: MOODJO 20.6.2008, 08:35
Привет!
Нужно сложить единички. smile 

Автор: SoWa 20.6.2008, 13:03
Выдели подпоследовательность, суммируй и вставь в последовательность на место первого члена подпоследовательности в последовательности smile Замудрил, а? Проще- на место первой единицы поставь их сумму.

Автор: MOODJO 23.6.2008, 11:46
легко сказать smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)