Форум программистов, компьютерный форум CyberForum.ru

Определить длину самого короткого слова в символьной строке - C++

Восстановить пароль Регистрация
 
кх
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75
16.05.2013, 19:10     Определить длину самого короткого слова в символьной строке #1
дано символьная строка. Слово-последовательность символов между пробелами, не содержащие пробелы внутри себя. Определить длину самого короткого слова!!!!!!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 19:10     Определить длину самого короткого слова в символьной строке
Посмотрите здесь:

Дана строка содержащая текст. Найти длину самого короткого и самого длинного слова. C++
C++ Определите длину самого короткого слова в строке слов.
Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. C++
C++ Найти длину самого короткого слова и самого длинного слова в строке
Найти длину самого короткого и самого длинного слова. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
16.05.2013, 19:50     Определить длину самого короткого слова в символьной строке #2
кх,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <sstream>
#include <algorithm>
#include <vector>
 
void words(std::string _str, std::vector<std::string> &_coll){
    std::istringstream ii(_str);
    std::string word;
 
    while(ii >> word)
        _coll.push_back(word);
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::vector<std::string> coll;
    std::string str("fdjh lkdf dfkdf kldf gdffddfg df");
 
    words(str, coll);
 
    std::cout << (*std::min_element(coll.begin(), coll.end(), [](std::string op1, std::string op2)
        {
            return op1.length() < op2.length();     
        })).length();
 
    std::cout << "\n\n";
    return 0;
}
кх
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75
16.05.2013, 22:28  [ТС]     Определить длину самого короткого слова в символьной строке #3
а попроще можно?
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
17.05.2013, 00:01     Определить длину самого короткого слова в символьной строке #4
кх,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int _tmain(int argc, _TCHAR* argv[])
{
    char str[] = "fdjh, lkdf dfkdf kldf - gdffddfg df";
    std::cout << str << std::endl << std::endl;
 
    int min_size(0);
    char *tmp(nullptr), *min(nullptr);
    min = tmp = strtok(str, " ,.-");
 
    while(tmp != NULL)
    {
        if(strlen(min) > strlen(tmp))
            strcpy(min, tmp);
 
        tmp = strtok (NULL, " ,.-");
    }
 
    std::cout << "Min: " << min << "\t\tSize: " << strlen(min) << "\n\n";
    return 0;
}
кх
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75
17.05.2013, 15:45  [ТС]     Определить длину самого короткого слова в символьной строке #5
неработает
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
17.05.2013, 16:31     Определить длину самого короткого слова в символьной строке #6
кх, конкретнее, у меня все прекрасно работает
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11825 / 6804 / 769
Регистрация: 27.09.2012
Сообщений: 16,871
Записей в блоге: 2
Завершенные тесты: 1
17.05.2013, 16:35     Определить длину самого короткого слова в символьной строке #7
Цитата Сообщение от кх Посмотреть сообщение
неработает
Попробуйте такой вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cstring>
 
int main()
{
    char str[] = "fdjh, lkdf dfkdf kldf - gdffddfg df";
    std::cout << str << std::endl << std::endl;
 
    int min_size(0);
    char *tmp(NULL), *min(NULL);
    min = tmp = strtok(str, " ,.-");
 
    while(tmp != NULL)
    {
        if(strlen(min) > strlen(tmp))
            strcpy(min, tmp);
 
        tmp = strtok (NULL, " ,.-");
    }
 
    std::cout << "Min: " << min << "\t\tSize: " << strlen(min) << "\n\n";
    return 0;
}
кх
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75
17.05.2013, 18:35  [ТС]     Определить длину самого короткого слова в символьной строке #8
[C++ Warning] Unit1.cpp(23): W8004 'min_size' is assigned a value that is never used выбивает ошибку
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2013, 18:40     Определить длину самого короткого слова в символьной строке
Еще ссылки по теме:

Строки (Найти длину самого короткого и самого длинного слова, а также сами эти слова) C++
C++ Найти длину самого короткого и самого длинного слова, а также сами эти слова
Строки. Подсчитайте количество подстрок в строке. Определите длину самого короткого слова. C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
17.05.2013, 18:40     Определить длину самого короткого слова в символьной строке #9
кх, ну это не ошибка а предупреждение, просто эта переменная не используется в коде, уберите ее.
Yandex
Объявления
17.05.2013, 18:40     Определить длину самого короткого слова в символьной строке
Ответ Создать тему
Опции темы

Текущее время: 13:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru