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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 16:20   #1
romanbor
 
Регистрация: 14.12.2010
Сообщений: 5
По умолчанию дайте какие небуть подказки как мне написать прогу буду благодарен!!!

Задана не пустая последовательность не пустых слов из латинских букв; соседние слова отделяются
одно от другого запятыми, а по последнему слову является точка. Определить слова, которые содержат хотя бы одну букву d.
romanbor вне форума Ответить с цитированием
Старый 23.12.2010, 16:50   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Идем по строке, проверяем каждую букву. При этом запоминаем начало текущего слова (номер символа, следующего за запятой). Если текущая буква - 'd', то в этом слове она есть, и этот факт запоминается в булевой переменной. Если символ - запятая, то:
1. Мы дошли до конца слова
2. Если для этого слова логическая (булевая) переменная - ИСТИНА, то увеличиваем счетчик слов с буквой d.
3. А кроме того при этом мы можем вывести текущее слово (это символы начиная с позиции "начало слова" до позиции, предшествующей найденной запятой)
4. Переходим к следующему символу, т.е. к следующему слову, при этом:
а. Сбрасываем логическую переменную на ЛОЖЬ
б. Изменяем переменную "позиция начала слова"
Если символ - точка, то все то же самое, как с запятой, только к следующему слову не переходим, и заканчиваем.

Вот примерный алгоритм, можете его немного модифицировать под себя, ну а уж в код, надеюсь, сможете это оформить.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 23.12.2010, 16:53   #3
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

у тебя задача разделить строку исходную на слова.. делаешь двумерный массив. Это будет массив из слов - каждое слово одномерный массив.

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

ну а дальше проходишь по массиву слов и ищешь в каждом слове букву d

ЗЫ: тобишь не пробелы а запятые

Последний раз редактировалось UltimaBeaR; 23.12.2010 в 16:56.
UltimaBeaR вне форума Ответить с цитированием
Старый 23.12.2010, 17:53   #4
romanbor
 
Регистрация: 14.12.2010
Сообщений: 5
Радость

спасибо за помощь
romanbor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль Задачи. примерно 10 буду рад если решите... желательно с блок схемами. Буду сильно благодарен. Азарт Помощь студентам 8 26.03.2009 23:51
Ребят помогите плиз сделать прогу (хотяб идею) буду оч благодарен ANDREI_NN Паскаль, Turbo Pascal, PascalABC.NET 7 09.01.2009 22:44