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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
кх
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75
#1

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

16.05.2013, 19:10. Просмотров 883. Ответов 8
Метки нет (Все метки)

дано символьная строка. Слово-последовательность символов между пробелами, не содержащие пробелы внутри себя. Определить длину самого короткого слова!!!!!!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 19:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить длину самого короткого слова в символьной строке (C++):

Найти длину самого короткого слова и самого длинного слова в строке - C++
помогите!!! Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова.

Определить длину самого длинного и самого короткого слова - C++
Помогите пожалуйста Я не понимаю как написать ввести массив символов, содержащий текст. Определить длину самого длинного и самого...

Определите длину самого короткого слова в строке слов. - C++
Дана строка слов, разделенных пробелами и запятыми. Подсчитайте ко-личество подстрок (заключенных между запятыми) в строке. Определите...

Строки. Подсчитайте количество подстрок в строке. Определите длину самого короткого слова. - C++
Дана строка слов, разделенных пробелами и запятыми. Подсчитайте количество подстрок (заключенных между запятыми) в строке. Определите длину...

Определить длину самого короткого слова (составить блок-схему) - C++
Задание. Определить длину самого короткого слова. Помогите сделать блок схему на этот код. #include <iostream> using namespace std; ...

Строки (Найти длину самого короткого и самого длинного слова, а также сами эти слова) - C++
Люди, подскажите, плиз, как написать програмку в с++ за условием, что дана строка, состоящая из слов, разделенных пробелами (одним или...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
yoghurt92
374 / 345 / 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
374 / 345 / 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
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
17.05.2013, 16:31 #6
кх, конкретнее, у меня все прекрасно работает
Croessmah
Модератор
Эксперт CЭксперт С++
13147 / 7410 / 830
Регистрация: 27.09.2012
Сообщений: 18,244
Записей в блоге: 3
Завершенные тесты: 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 выбивает ошибку
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
17.05.2013, 18:40 #9
кх, ну это не ошибка а предупреждение, просто эта переменная не используется в коде, уберите ее.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2013, 18:40
Привет! Вот еще темы с ответами:

Найти длину самого короткого и самого длинного слова, а также сами эти слова - C++
Народ, помогите, пожалуйста, как мне написать код в с++ програмки, в которой дана строка, состоящая из слов, разделенных пробелами (одним...

Как определить длину самого короткого слова из строки без библиотеки string на С++ - C++
Написать программу. Как определить длину самого короткого слова из строки без библиотеки string на С++

Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. - C++
1. Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. 2. 14.14. Имеется строка, содержащая буквы...

Дана строка содержащая текст. Найти длину самого короткого и самого длинного слова. - C++
помогите написать программу =) очень нужно=) Дана строка содержащая текст. Найти длину самого короткого и самого длинного слова.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.05.2013, 18:40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru