| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > Помогите доделать программу на строки |
| Автор: Snoooppy 29.5.2006, 17:46 | ||||
Народ помогите доделать прогу!!!!! Пожалуйста очень нужно!!!!!
Прога должна находить и выводить все слова, буквы которых образуют неубывающую последовательность. Например: Ввести строку - абвг абвгде авыавапефпк5пп иклмнопрсту Слова с неубывающей последовательностью - абвг абвгде иклмнопрсту
|
| Автор: volvo877 29.5.2006, 18:47 | ||
Ну, "доделать" здесь - громко сказано. Твоя программа изначально делала нечто совсем другое... Я бы делал так:
Хотя, возможно, я чересчур усложнил программу и кто-то предложит более простой вариант... |
| Автор: Snoooppy 29.5.2006, 21:02 |
| да я ее уже под себя оформил, все работает спасибо огромное!!! Только вот теперь такой вопрос - разделителями между словами должна служить точка, запятая и пробел. Как эта функция выглядит??? |
| Автор: Snoooppy 30.5.2006, 19:02 |
| Вот еще одна проблема, смотрел прогу через дебуггер, вобщем все понятно, она просматривает каждую букву и при правильной последовательности заносит ее в память для дальнейшего вывода на экран, НО прога так же выводит последовательность ИЗ СЛОВ (т.е. талкваабв - и выводит абв) не хотелось бы что бы она это делала, как это исправляется?? подскажите пожалуйста |
| Автор: volvo877 30.5.2006, 20:27 | ||||
Если исправлять эту же программу - то:
но по-моему это уже надо переписывать ... Что-то очень много однотипных действий... Вот так, например:
|
| Автор: Snoooppy 30.5.2006, 21:47 | ||
| я навен с этой прогой скоро с ума сойду!!!!!!!!!!!!!!! теперь фишка в том что она нехочет записывать последнюю последовательность....например вводим "абв апраопр эюя" - выводит только "абв" про "эюя" забывает ЧТО ДЕЛАТЬ?? это последний штрих в проге. оставил старый вариант проги
и еще не хотелось бы что бы она латинские буквы читала, только кириллицу |
| Автор: Zero 31.5.2006, 21:50 | ||||||
Добавь перед строкой:
вот такую строку:
Короче вся фишка в том, что когда последняя буква входной строки должна выводится, то у тебя цикл который побуквенно рассматривает каждый символ заканчивается и из него происходит выход, а вывод у тебя предусмотрен внутри этого цикла, вот поэтому у тебя "ЭЮЯ" и не выводится.
И как это понимать??? Латиница, это можно сказать английский алфавит Кириллица это один из видов кодировок ОС... PS: задавай вопросы по русски... |
| Автор: Snoooppy 31.5.2006, 21:53 |
| ну чтоб только русские буквы воспринимала |
| Автор: Zero 31.5.2006, 21:57 |
| А, ну это тебе нужно ввод переделать, например не с помощью оператора readln, посимвольно, т.е. в цикле с помощью оператора readkey например и вставить условие приёма символов, чтобы вставлялить только то множество символов которое тебе надо, или наооборот не воспринимались те которые не нужно... |
| Автор: Snoooppy 31.5.2006, 22:02 |
| непонял, как это в коде выглядит?? |
| Автор: Zero 31.5.2006, 22:06 | ||||
Короче вот например вставь за место строки:
Вот такой кусок кода:
И будет тебе счастье... |
| Автор: Snoooppy 31.5.2006, 23:12 | ||
вобщем додумался я до такого кода:
и вот новый вопрос, конечно извините что их так много просто в среде программирования я буквально месяц.... короче, мне нужно, чтобы она маленькие и большие буквы считала эквивалентными.....т.е. АбВгДе ываывавыаыва строка с неуб посл: АбВгДе |
| Автор: volvo877 1.6.2006, 00:52 | ||||||||
Тогда описывай вот такую функцию (она переводит любой символ - русский или латинский - в верхний регистр):
и сравнивай символы последовательности не так:
, а вот так:
(в результате все сравнения будут производиться в верхнем регистре, а сама строка изменяться не будет...) |
| Автор: Snoooppy 1.6.2006, 01:06 |
| Спасибо вам мужики!!!! Чтоб я без вас делал???СПАСИБО!!!! |
| Автор: ~FoX~ 14.6.2006, 10:43 |
А зачем вилосипед изабритать, есть же стандартная UpCase функция. |
| Автор: volvo877 14.6.2006, 14:20 |
| ... которая работает только с латинскими буквами. А с кириллицей что делать? Не использовать? |
| Автор: Romikgy 14.6.2006, 15:23 | ||
volvo877, AnsiUpperCase
|
| Автор: volvo877 14.6.2006, 18:28 |
| Romikgy, Тема в каком разделе? Паскаль? Или Дельфи? Ты в TPascal видел функцию AnsiUpperCase Ребята, давайте уже начнем обращать внимание на РАЗДЕЛ, в котором отвечаем? |
| Автор: Romikgy 15.6.2006, 08:37 |
| Я конечно , очень давно юзал чистый паскаль Честно не видел, как не видел и Сказал по аналогии, если не прав тогда извеняюсь |