Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Задание на строки


Автор: x0mka 21.1.2010, 15:06
У меня вот задание по строкам. Я пыталась написать программу, но оооочень много ошибок получается smile 

Дан текст, содержащий от 2 до 20 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами – не менее одного пробела; за последним словом – точка.
a) Напечатать все слова текста, которые содержат хотя бы одну букву, которую задает пользователь;
b) напечатать самое длинное слово;

Я делала вот по такому алгоритму:
а)считываем слова, и когда символ считываем, тут же проверяем его на сходство с нужным. если совпали, флаг (переменная какая-нибудь) = 1, в начале считывания слова он опять = 0.

b)считываем слово, применяем strlen, сравниваем с какой-нибудь len_max, если длинна этого слова больше, тогда: len_max = strlen( слово); k( переменная, в которой храним индекс слова макс длинны ) = i (индекс текущего слова), если флаг == 1, тогда выводи это слово.

Автор: bsa 21.1.2010, 15:45

M
bsa
x0mka, представь написанный код, а то перенесу в центр помощи

Автор: mikityak 21.1.2010, 16:13
Код паказать стидна, или просто сикрет фирмы ?  smile 

Автор: Loner 22.1.2010, 13:11
Цитата

Дан текст, содержащий от 2 до 20 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами – не менее одного пробела; за последним словом – точка.

Забавное описание. Короче, обычный текст. smile

Не понимаю, зачем тебе нужен какой-то флаг. Сохраняй сразу слова в какую-нибудь строку, ну или на экран сразу выводи, если задание позволяет.
Аналогично с "индексом самого большого слова". Сохраняй слово. Ты же не собираешься потом по этому индексу опять искать слово в тексте.

Автор: bsa 22.1.2010, 13:19
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)