Страница 1 из 1
Найти длинейшую последовательность одинаковых элеменов
Добавлено: 22 май 2009, 00:47
Iwan_91
Код: Выделить всё
CLS
DIM a(1 TO 10)
FOR i = 1 TO 10
INPUT a(i)
NEXT i
FOR i = 1 TO 9
IF a(i) = a(i + 1) THEN
c = c + 1
END IF
IF c > n THEN
n = c
END IF
NEXT i
IF n <> 0 THEN
n = n + 1
END IF
PRINT n
Задача у программы посчитать максимальное количество подряд идущих елементов.
Почему для точного количества
n=n+1?
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Как я понимаю к c не прибавльется последний номер.
Другого решения нет?
Мне в принципе не срочно.
Re: Найти длинейшую последовательность одинаковых элеменов
Добавлено: 23 май 2009, 00:22
Naeel Maqsudov
Код: Выделить всё
Const N = 10
Dim a(1 To N)
For i = 1 To N
a(i) = Cells(1, i)
Next
longestseqpos = -1
longestseqlen = -1
seqpos = 0
seqlen = 0
For i = 1 To N - 1
If a(i) = a(i + 1) Then
If seqlen = 0 Then seqpos = i 'если посдедовательность началась,
'то запоминаем где она начинается
seqlen = seqlen + 1
Else
If seqpos <> 0 Then 'последовательность кончилась
seqlen = seqlen + 1 'прибавляем последний символ
If seqlen > longestseqlen Then 'если она оказалась длинее,
'то запоминаем ее
longestseqpos = seqpos
longestseqlen = seqlen
End If
seqlen = 0
End If
End If
Next
If longestseqpos>-1 Then
print "Самая длинная цепочка символов"
print "Начинается с элемента "; longestseqpos
print "Имеет длину "; longestseqlen
print "Состоит из значений "; a(longestseqpos)
Else
print "Нет повторяющихся элементов, идущих подряд"
End If
Re: Найти длинейшую последовательность одинаковых элеменов
Добавлено: 23 май 2009, 16:37
Iwan_91
Крото..

Спасибо большое.
Куда пиво отправлять?

А в бейсики можно через input вводить сразу 2 переменные, если их через пробел вводят?
Re: Найти длинейшую последовательность одинаковых элеменов
Добавлено: 23 май 2009, 20:08
Naeel Maqsudov
Должно быть можно
INPUT A,B,C
Но возможно, что это не во всех бейсиках поддерживается. Не на чем проверить. К меня вообще бейсика нет. Не пишу я на нём ничего реального.
Если не ошибаюсь, при вводе надо будет отделять пробелами или Enter-ом.
Re: Найти длинейшую последовательность одинаковых элеменов
Добавлено: 23 май 2009, 23:36
Iwan_91
Через запятую можно(я занаю), но при вводе эта запятая должна быть..

Иначе не работает.
Ладно буду обрабатываьт строку потом..
(В друг просто прогу можно сократить)
На Егэ данные в задачах С4 вводится через пробел..
А егэ уже 26....
Спасибо от души. Не думал что на такой вопрос ответят.