Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2014, 14:56   #1
Niklitel
Пользователь
 
Регистрация: 30.10.2013
Сообщений: 19
По умолчанию Натолкните на мысль!

В произвольном тексте на английском языке, содержащем не более
10 строк, в каждой строке не более 80 символов. Заменить первую букву каждого слова символом «пробел». Слово – это группа символов, заключенная между разделителями (пробел, запятая, точка и т.д.). Полученный текст напечатать.
Пожалуйста подскажите с чего начать! Я просто в панике, не знаю как делать!
Niklitel вне форума Ответить с цитированием
Старый 05.01.2014, 15:16   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Ну и тема "Натолкните"....
Наработки какие-нибудь есть?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 05.01.2014, 15:17   #3
blackstrip
Форумчанин
 
Аватар для blackstrip
 
Регистрация: 21.01.2012
Сообщений: 240
По умолчанию

Надо пробежаться в цикле по всем символам текста.

Ключевое условие - если текущий символ является первой буквой, то поставить вместо него пробел.

Первая буква - это:
1) вообще первая буква в тексте (перед ней ничего)
2) буква, символ перед которой является разделителем (точкой, запятой, пробелом)
3) буква, символ перед которой является переносом строки (обычн это два байта $0D+$0A, можно брать последний байт $0A как индикатор, да и смотря какой текст, может вообще текст дается как массив строк, и надо тогда еще по строкам бежать, у каждой менять первую букву на пробел, а остальные буквы по циклу как показано ниже)

Т.е. надо написать функцию БукваЛиЭто(текст,индекс). И если номера символов в строке от 1 до N, то пробегаем в цикле от 2 до N. Условно будет выглядеть так:

Код:
for i:=N downto 2 do
begin
if (not БукваЛиЭто(текст,i-1)) and БукваЛиЭто(текст,i) then текст[i] = пробел
end;
В обратном порядке downto бежим, т.к. в прямом порядке все слова можно сложить в пробелы, заменив сначала первую букву на пробел, потом вторую, потом третью и т.д, т.к. при каждом следующем шаге будет казаться что она первая.

Еще после цикла надо не забыть первую букву текста, если это буква, заменить на пробел.

Вроде бы так.

Последний раз редактировалось blackstrip; 05.01.2014 в 15:24.
blackstrip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Натолкните на мысль Rebelition Общие вопросы Delphi 6 30.10.2012 14:42
Аналитическая задача. Натолкните на мысль. mezolit Microsoft Office Excel 9 24.09.2012 13:03
Дайте мысль) jawa250t Общие вопросы Delphi 4 09.02.2011 18:02
натолкните на идею ronny137 Помощь студентам 1 02.05.2010 13:36
Помогите или натолкните на мысль. alex2008ean Паскаль, Turbo Pascal, PascalABC.NET 2 12.12.2008 10:03