Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как найти самое короткое слово в строке, среда С++

Скалабан Евгений Знаток (468), закрыт 12 лет назад
Здравствуйте, помогите пожалуйста решить задачу по программированию в С++,заранее спасибо тем, кто откликнется.
Объясните как, и, если не сложно, вставьте сам код.

Вот задание:
Вводится строка, каждое слово которой отделяется от других слов одним или несколькими пробелами.
Найти самое короткое слово в строке. Вывести на экран полученный результат.
Лучший ответ
ra Высший разум (113288) 12 лет назад
#include <string>
#include <sstream>
#include <iostream>

using namespace std;

int main() {
    string s, w, mw;
    cout << "string? ";
    getline(cin, s);
    istringstream ss(s);
    ss >> mw;
    while (ss >> w) if ( mw.size() > w.size() ) mw = w;
    cout << "shortest word: " << mw << endl;
    return 0;
}
Остальные ответы
Rock Lobster Мыслитель (6864) 12 лет назад
Алгоритм. Как только ты имеешь символ не равный пробелу - начинай подсчет. Как только дойдешь до следующего пробела, переводи счетчик в переменную min и обнуляй счетчик. Дальше находишь таким же образом второе слово и сравниваешь значение счетчика с значением переменной min. Если счетчик больше, то обнуляешь его. Если меньше, то присваиваешь min и обнуляешь. И так до конца.

Код написать не смогу - забыл синтаксис. очень давно не кодил
Похожие вопросы