|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.12.2011, 15:22 | #1 |
Пользователь
Регистрация: 12.12.2011
Сообщений: 15
|
ТурбоПаскаль. Выделение чисел из слов.
Задача такова:
Составить программу, которая будет выводить числа с которых начинается слово. 23февраля = 23, фвраля23=0. Написал следующее: function f:string; begin for i:=1 to length(s) do if (s[i] in ['0'..'9']) or (s[i]=' ') then s1:=s1+s[i] end; Проблема: для одного слова она прокатит 23февраля=23, но она также будет выводить все цифры, которые встречаются в словах, если вводить предложение(23фев апр5 5 выо5смв=23 5 5 5), а это не есть гут((( Подскажите пожалуйста алгоритм действий для предложения. |
14.12.2011, 15:36 | #2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
Есть оператор Break, что бы принудительно завершить цикл.
По вашему решению есть замечания. Если вы хотите вынести решение в отдельную функцию, то переменная i должна быть локальной в этой функции, а s передаваться как параметр. E-Mail: arigato.freelance@gmail.com
|
14.12.2011, 15:41 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
я бы предложил Вам такой подход.
Взять любой подходящий Вам алгоритм, который выделяет из строки слова (разделителем может быть пробел, а может быть и любой знак пунктуации). Таких алгоритмов на форуме полно (да и самому написать несложно). после получения выделенного слова (пусть это будет строковая переменная W) выделить цифры в начале слова. например, так: Код:
|
14.12.2011, 16:07 | #4 | |
Пользователь
Регистрация: 12.12.2011
Сообщений: 15
|
Цитата:
Тоесть мне записать (function f(i:byte,???):string; как записать s как параметр? И ещё потом в программе ставлю f;, а он меня материть начинае всякими ошибками. Как енту функцию описывать потом в программе? По идее я должен записать то, что вычисляет функция, примерно так f(i,s,s1) - всёравно материт(( В общем одни вопросы, второй день голову ламаю. И подскажите пожалуйста книженцию по турбопаскаль с изложением понятным простому смертному, а не: функция Pos возвращает курсор в позицию...бла,бла,бла, пока я понял что такое возвращает три часа прошло((( (извините за офтоп) |
|
14.12.2011, 16:32 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Извините за оффтоп.. |
|
14.12.2011, 18:21 | #6 |
Пользователь
Регистрация: 12.12.2011
Сообщений: 15
|
спасибо всем, разобрался)))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выделение зарезервированых слов в редакторе текста | PVD | Компоненты Delphi | 5 | 02.02.2010 17:11 |
RichEdit - Выделение цветом слов | fakir9999 | Компоненты Delphi | 3 | 15.06.2009 15:39 |
RichEdit - Выделение цветом слов | fakir9999 | Помощь студентам | 11 | 29.05.2009 09:30 |
Выделение слов цветом в Memo | Костян Пират | Общие вопросы Delphi | 9 | 05.03.2009 08:52 |
Выделение слов из строки // Pascal | Rifler | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 02.07.2008 08:22 |