Что-то я попытался сделать само задание, а не получается.
Точнее я могу сделать, но это будет очень криво и займёт дней пять.
У меня есть один алгоритм на уме. Короче, в TextBox1 содержатся все наши строки.
При нажатии на кнопку "Выполнить":
1) Объявляем переменную в которую хотим запихнуть весь текст из TextBox1
запихиваем:
Код:
s = vvod(TextBox1) 'получаем весь текст из TextBox1
2) Объявляем переменную для внесения в неё размерности массива. Размерность массива мы получим из (3)
3) Отправляем в некую процедуру переменные (1) и (2), считаем там символы
перехода на новую строку. После ещё кое-чего мы уже знаем размерность массива и учитывая то, что переменная (2) была передана по ссылке(ByRef)
4) Зная длину массива объявляем его:
Код:
Dim stmas(длина массива) As String
5) Отправляем его(по ссылке) и переменную (1)(по значению) в процедуру, где он заполнится данными. Т.е. в первый элемент массива записывается то, что до
символа перехода на новую строку, потом
символ перехода на новую строку пропускается и уже записывается второй элемент массива и т.д.
6) Потом этот массив отправляем(по ссылке) в процедуру где в нём будут удалены все несимметричные строки.
7) Потом
этот массив и
переменную в которую будет записана самая длинная симметричная строка отправляем(по ссылке) в процедуру, где будет найдена самая длинная симметричная строка. А также в процедуре будет цикл, который будет задаваться вопросом "А нет ли в массиве строк такого же размера?". Если нет, то
zs = 1, если
zs > 1, то это показывает, что имеется две "самых" длинных строки. Почему так? Просто в цикле о котором я говорил будет такая штука: Уже зная длину самого длинного элемента мы пройдёмся по циклу и будем её сравнивать с длинами остальных строк. Если строки будут равны, то zs = zs + 1. Т.е. если действительно есть самая длинная строка, то длина её должна быть только у одного эл-та массива.
...
Я не знаю даже что и сказать. И поговорка "терпение и труд всё перетрут" здесь не очень действует( Буду раз если какой-нибудь смельчак(-ки) мне поможет