Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

_Ayl_
Статус: 10-й класс
Рейтинг: 741
∙ повысить рейтинг >>
Micren
Статус: Практикант
Рейтинг: 374
∙ повысить рейтинг >>
Серг aka umbSSE
Статус: 10-й класс
Рейтинг: 236
∙ повысить рейтинг >>

∙ / КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1356 от 14.07.2009, 21:05
Администратор рассылки: Dr_Andrew, Модератор
В рассылке: подписчиков - 631, экспертов - 152
В номере: вопросов - 1, ответов - 2

Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
оценить выпуск >>

Вопрос № 170305: Уважаемые эксперты помогите пожалуйста! Буду очень благодарен. Задача: Даны натуральное число n, символы S1, S2, ..., Sn. Группы символов, разделённых пробелами (одним или несколькими) и не содержащим пробелов внутри себя будем называть словами. найт...



Вопрос № 170305:

Уважаемые эксперты помогите пожалуйста! Буду очень благодарен. Задача: Даны натуральное число n, символы S1, S2, ..., Sn. Группы символов, разделённых пробелами (одним или несколькими) и не содержащим пробелов внутри себя будем называть словами. найти длину самого короткого слова. Заранее спасибо.

Отправлен: 09.07.2009, 20:56
Вопрос задал: sidxoi, Посетитель
Всего ответов: 2
Страница вопроса >>


Отвечает Micren, Практикант :
Здравствуйте, sidxoi.
Программа. С++. Microsoft Visual Studio 2008
Код:

#include <limits>
#include <iostream>
#include <locale>
#include <string>
#include <sstream>
#include <vector>

using namespace std;

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 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает leonid59, 4-й класс :
    Здравствуйте, sidxoi. Предлагаю свой вариант, так как, судя по задаче, она выполняется с минимальными знаниями по C/C++.

    Приложение:

    Ответ отправил: leonid59, 4-й класс
    Ответ отправлен: 11.07.2009, 11:07

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 252068 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
    оценить выпуск >>

    подать вопрос экспертам этой рассылки >>

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.5 от 08.07.2009

    В избранное