Выпуск № 1356 от 14.07.2009, 21:05
Администратор рассылки: Dr_Andrew, Модератор
В рассылке: подписчиков - 631, экспертов - 152
В номере: вопросов - 1, ответов - 2
Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке: оценить выпуск >>
Вопрос № 170305: Уважаемые эксперты помогите пожалуйста! Буду очень благодарен. Задача: Даны натуральное число n, символы S1, S2, ..., Sn. Группы символов, разделённых пробелами (одним или несколькими) и не содержащим пробелов внутри себя будем называть словами. найт...
Вопрос № 170305:
Уважаемые эксперты помогите пожалуйста! Буду очень благодарен. Задача: Даны натуральное число n, символы S1, S2, ..., Sn. Группы символов, разделённых пробелами (одним или несколькими) и не содержащим пробелов внутри себя будем называть словами. найти длину самого короткого слова. Заранее спасибо.
int main() { locale::global(locale("russian_russia.866")); wcout<<L"Введите
строку символов:"<<endl; // Строка wstring str; getline(wcin,str); // С этого потока будем читать по словам wstringstream stream(str); // Слово wstring word; // Минимальный размер wstring::size_type min_size=numeric_limits<wstring::size_type>::max(); // Вектор в котором будем хранить слова vector<wstring> wor
ds; // Берем следующее слово while(stream>>word) { // Если новый минимум if(word.length()<min_size) { // Сохраним размер min_size=word.length(); // Очистим вектор words.clear(); } // Если нашли слово с размером min_size if(word.length()==min_size) { // Добавим его words.push_back(word); } } // Если вектор не пуст if(words.size()) { // Если больше чем одно слово if(words.size()>1) { //
Рачспечатаем wcout<<L"Найдено несколько слов с минимальной длиной("<<min_size<<L"):"<<endl; for(vector<wstring>::const_iterator it=words.begin();it!=words.end();++it) { wcout<<*it<<endl; } } else { wcout<<L"Минимальное слово \""<<words[0]<<L"\" содержит "<<min_size<<L" символов"
<<endl; } } else { wcout<<L"Слов нет"<<endl; } system("PAUSE"); return 0; }
Пример работы:
Код:
Введите строку символов: Наша служба и опасна и трудна Найдено несколько слов с минимальной
длиной(1): и и
Ответ отправил: Micren, Практикант
Ответ отправлен: 10.07.2009, 01:57
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 252025
на номер 1151 (Россия) |
Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает leonid59, 4-й класс :
Здравствуйте, sidxoi. Предлагаю свой вариант, так как, судя по задаче, она выполняется с минимальными знаниями по C/C++.