|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.04.2010, 20:19 | #1 |
Пользователь
Регистрация: 13.01.2010
Сообщений: 36
|
Как определить на какую букву начинаются слова в строке???
С++
Вот задание: выделить из строки 1 все слова начинающиеся с гластной, а из 2 строки все согластные и образовать 3 строку состоящую из выделеных слов обеих строк, что бы слова разделялись двумя пробелами. Гластных всего 6 ( a, e, i, o, u, y); Я тут не могу понять как строку разбить на слова, что бы сравнить первую букву с этими шестью гластными! |
18.04.2010, 20:53 | #2 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Для определения, является ли символ буквой - функция isalpha(), можете написать свою функцию для определения, является ли символ гласной буквой (их список у вас есть). Все остальные символы-буквы - согласные. Строки на слова можно разбивать, находя первый символ, не являющийся пробелом, а потом - первый после нее пробел (вроде есть еще специальные стандартные функции, не помню точно).
Выделили из строки слово, проверили его первый символ, если подходит - записали в конец строки-результата, добавили в конец два пробела, обрезали входную строку с начала, повторили. Дальнейшее реализуйте сами.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
18.04.2010, 22:10 | #3 |
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
Вот задание: выделить из строки 1 все слова начинающиеся с гластной, а из 2 строки все согластные и образовать 3 строку состоящую из выделеных слов обеих строк, что бы слова разделялись двумя пробелами.
Гластных всего 6 ( a, e, i, o, u, y); Я тут не могу понять как строку разбить на слова, что бы сравнить первую букву с этими шестью гластными =================================== ==================== тоесть из строки 1 выделить слова имеющие в начале слова ( a, e, i, o, u, y); AnsiString SFileData = "расположение файла со строками"; List ->LoadFromFile (SFileData);//загрузили файл SDataIn = List ->Strings[0]; //загрузили 1 строку int IiDat;//нахождение разделительного элемента (пробела) IiDat = SDataIn.Pos(" "); AnsiString SiDatStr = "";//выделенное слово для проверки SiDatStr = SiDatStr.Delete(IiDat, 255);//выделили первое слово if ( SiDatStr [1] == "a") { добавляеш в свой список.... return; } и так далее ля каждой буквы извени я написал идею но не саму прогу готовую к применению тут куча недостатков связанных с изменением строки (удалением) нет цикла для проверки остальных слов и т д
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
21.04.2010, 03:10 | #4 |
Пользователь
Регистрация: 06.11.2009
Сообщений: 68
|
На Си. Перегнать на Си++, думаю, не проблема.
Код:
Последний раз редактировалось silent_1991; 21.04.2010 в 03:24. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить на какую букву начинаются слова в строке??? | Telec | Помощь студентам | 1 | 18.04.2010 20:28 |
Как определить в строке присутствие даты | vint2 | Microsoft Office Excel | 4 | 05.02.2010 15:45 |
скопировать во второй файл слова которые начинаются и заканчиваются на одну букву | Екатерина А. | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 23.12.2008 15:08 |
Pascal//определить длину самого короткого и самого длинного слова в строке | ShnurOK | Помощь студентам | 2 | 16.12.2007 10:43 |
Как определить букву диска? | Борис2 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 06.12.2007 22:16 |