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

Функция в строке должна вычислять количество слов (слова разделяются пробелом) - C++

Восстановить пароль Регистрация
 
Dron111
Сообщений: n/a
14.05.2013, 20:20     Функция в строке должна вычислять количество слов (слова разделяются пробелом) #1
C++
1
2
3
4
5
6
7
8
9
10
11
int sum  (const char *pS )
{ 
    const char *p (pS);
    int n (0);
    while ( *p )
    {
        if ( isspace (*p)) ++n;
        p++;
    }
    return n+1;
}
Казалось бы всё просто, но как сделать так что бы когда в строке между словами пробел мог быть не 1 а несколько (к примеру "Я______не знаю___как реализовать") здесь по идее 11 пробелов, и в итоге оно покажет 11 слов, а нужно что бы вывело 5, т.е не смотрело сколько между словами " " - пробелов
Помогите сделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2013, 20:20     Функция в строке должна вычислять количество слов (слова разделяются пробелом)
Посмотрите здесь:

Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного слова. C++
Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного слова. C++
Функция подсчитывает количество слов в строке. C++
В строке, содержащей несколько слов, разделенных пробелом, переставить слова в обратной последовательности C++
C++ Функция должна вычислять число положительных элементов массива и число элементов больших вычисленного числа
Функция должна вычислять рандомное значение от a до b C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 771
Регистрация: 27.09.2012
Сообщений: 16,905
Записей в блоге: 2
Завершенные тесты: 1
14.05.2013, 20:25     Функция в строке должна вычислять количество слов (слова разделяются пробелом) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <sstream>
 
int main(){ 
    std::string str;
    std::stringstream ss;
    std::getline(std::cin,str);
    ss.str(str);
    std::string temp;
    int count=0;
    while(ss>>temp)
        ++count;
    std::cout<<"Count: "<<count<<std::endl;
}
Dron111
Сообщений: n/a
14.05.2013, 20:51     Функция в строке должна вычислять количество слов (слова разделяются пробелом) #3
А через указатели это как нибудь делается ??

Добавлено через 2 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <sstream>
 
int main(){ 
    std::string str;
    std::stringstream ss;
    std::getline(std::cin,str);
    ss.str(str);
    std::string temp;
    int count=0;
    while(ss>>temp)
        ++count;
    std::cout<<"Count: "<<count<<std::endl;
}
А через указатели это как нибудь делается ??
Yandex
Объявления
14.05.2013, 20:51     Функция в строке должна вычислять количество слов (слова разделяются пробелом)
Ответ Создать тему
Опции темы

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