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

программу, которая вычисляет количество слов в строке - C++

Восстановить пароль Регистрация
 
Тельман
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 34
12.12.2013, 16:51     программу, которая вычисляет количество слов в строке #1
Здравствуйте все! Опять тупик.
Напишите, пожалуйста, программу, которая вычисляет количество слов в строке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2013, 16:51     программу, которая вычисляет количество слов в строке
Посмотрите здесь:

C++ Написать программу на языке С, которая рекурсивно вычисляет количество единиц в двоичном коде заданного пользователем натурального числа
Составить программу, которая вычисляет количество элементов одномерного массива Х, состоящего из 15 вещественных чисел, которые равняются по значению C++
Как написать программу, которая посчитает количество слов в строке? C++
C++ Написать функцию, которая возвращает количество слов в строке
Подправьте задачу. (Определить количество слов в строке, которая содержит введенный символ) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lpvoid
 Аватар для lpvoid
318 / 301 / 17
Регистрация: 06.03.2013
Сообщений: 869
12.12.2013, 17:21     программу, которая вычисляет количество слов в строке #2
с костылем:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main() {
    std::string str;
    int word_count = 1, cur = 0;
 
    std::getline(std::cin, str);
 
    while (cur < str.length()) {
        if (str.at(cur++) == ' ')
            word_count++;
    }
 
    std::cout << "Word count: " << word_count << std::endl;
 
    _getch();
}
по-человечески (с++11 required):
C++
1
2
3
4
5
6
int word_count(std::string str) {
    std::regex word("\\w+");
    auto begin = std::sregex_iterator(str.begin(), str.end(), word);
    auto end = std::sregex_iterator();
    return std::distance(begin, end);
}
Тельман
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 34
12.12.2013, 18:25  [ТС]     программу, которая вычисляет количество слов в строке #3
Проверил, задача не работает почему-то. жаль...........
Doksim
 Аватар для Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
12.12.2013, 18:34     программу, которая вычисляет количество слов в строке #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{
 char str[ 100 ];
 cin >> str;
 int c = 0;
 
 for( int i = 0; i < strlen( str ) - 1; i++ )
 if( str[ i ] == ' ' && str[ i + 1 ] != ' ' )c++;
 
 c++;
 cout << c << endl;
 
 return system( "pause" );
}
хотя и это не идеальное и полностью правильное решение.
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 119
12.12.2013, 18:37     программу, которая вычисляет количество слов в строке #5
если слова отделены пробелами то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream.h>
#include<string.h>
#include <stdio.h>
int main()
{
    char st[100]="11111 0000 1111 00000 11111";
    char *wrd;
    int k=0;
    int n=strlen(st);
    char st2[]=" ";
    wrd=strtok(st,st2);
    while(wrd!=NULL)
    {
        k++;
        wrd=strtok(NULL,st2);
    }
    cout<<k<<endl;
    return 0;
}
Тельман
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 34
12.12.2013, 18:41  [ТС]     программу, которая вычисляет количество слов в строке #6
Спасибо! Сейчас проверю
Doksim
 Аватар для Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
12.12.2013, 21:05     программу, которая вычисляет количество слов в строке #7
Цитата Сообщение от petyahohlov Посмотреть сообщение
если слова отделены пробелами то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream.h>
#include<string.h>
#include <stdio.h>
int main()
{
    char st[100]="11111 0000 1111 00000 11111";
    char *wrd;
    int k=0;
    int n=strlen(st);
    char st2[]=" ";
    wrd=strtok(st,st2);
    while(wrd!=NULL)
    {
        k++;
        wrd=strtok(NULL,st2);
    }
    cout<<k<<endl;
    return 0;
}
напомните пожалуста что делает ф-ия стрток?
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 119
12.12.2013, 21:11     программу, которая вычисляет количество слов в строке #8
возращает указатель на лексемы в строке ст разделённые любым из символов ст2
вроде так
я сам толком не знаю, но знаю как пользоваться
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 21:16     программу, которая вычисляет количество слов в строке
Еще ссылки по теме:

C++ Написать программу, которая вычисляет количество цифр во введенном пользователем числе
C++ Составить программу, которая подсчитывает количество слов
C++ Составить программу, которая, по данным N и K, вычисляет количество способов группировки K предметов из N

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

Или воспользуйтесь поиском по форуму:
ElenaBilyk
 Аватар для ElenaBilyk
4 / 4 / 1
Регистрация: 22.10.2013
Сообщений: 34
12.12.2013, 21:16     программу, которая вычисляет количество слов в строке #9
C++
1
wrd=strtok(st,st2);
в strtok вторым параметром можно кидать константную строку, то есть
wrd = strtok(st, " ,.!?");
она будет искать эти разделители и возвращать вам слово.

Добавлено через 1 минуту
А если точнее, то функция возвращает указатель на начало слова, следующего за разделителем.
Yandex
Объявления
12.12.2013, 21:16     программу, которая вычисляет количество слов в строке
Ответ Создать тему
Опции темы

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