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

Найти количество слов в символьном массиве - C++

Восстановить пароль Регистрация
 
UltraRedMan
8 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 54
22.03.2011, 11:41     Найти количество слов в символьном массиве #1
дано: х (100), найти количество слов в символьном массиве. Очень прошу помогите...!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2011, 11:41     Найти количество слов в символьном массиве
Посмотрите здесь:

В массиве слов найти пару слов, из которых одно является обращением другого C++
Сосчитать количество строк в символьном массиве C++
C++ Проверка строк в двухмерном символьном массиве
C++ Дана строка, состоящая из русских слов. Найти количество слов, которые содержат ровно три буквы «А»
Дан текст, найти количество слов и количество слов, у которых первый и последний символ совпадают C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex1234
 Аватар для Alex1234
12 / 12 / 0
Регистрация: 11.02.2011
Сообщений: 55
22.03.2011, 14:34     Найти количество слов в символьном массиве #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
//--------------------------------------------------------------
int main(int argc, char *argv[])
{
    char *x = "Найти количество слов в символьном массиве. Очень прошу помогите...!!!";
    bool troughWord = false;
    int countWord = 0;
    for(int i = 0; *(x+i) != 0 ; i++)
    {
        if(*(x+i) > 64 && *(x+i) < 91 || *(x+i) > 96 && *(x+i) < 123
           || *(x+i) > 191 && *(x+i) <= 255)
        {
                if(!troughWord)
            {
                countWord++;
                troughWord = true;
            }
        }
        else
        {
            troughWord = false;
        }
    }
    
    cout << "В строке x: " << countWord << " слов";
 
}
Добавлено через 1 минуту
Смотря, что словами считать.
Простой вариант для ASCII:
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
int main(int argc, char *argv[])
{
    char *x = "Найти количество слов в символьном массиве. Очень прошу помогите...!!!";
    bool troughWord = false;
    int countWord = 0;
    for(int i = 0; *(x+i) != 0 ; i++)
    {
        if(*(x+i) > 64 && *(x+i) < 91 || *(x+i) > 96 && *(x+i) < 123
           || *(x+i) > 191 && *(x+i) <= 255)
        {
                if(!troughWord)
            {
                countWord++;
                troughWord = true;
            }
        }
        else
        {
            troughWord = false;
        }
    }
    
    cout << "В строке x: " << countWord << " слов";
    
    return 0;
}
UltraRedMan
8 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 54
31.03.2011, 21:53  [ТС]     Найти количество слов в символьном массиве #3
огромное спасибо..)) помогло)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
31.03.2011, 23:21     Найти количество слов в символьном массиве #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <sstream>
#include <string>
#include <iostream>
 
int main()
{
    std::string str="Hello and what, do you want?!";
    const std::string& delims=" .,:!?";
    for(std::string::iterator iter=str.begin(); iter != str.end(); ++iter)
      if(delims.find(*iter) != std::string::npos)
         *iter = ' ';
    int count_words=0;
    std::istringstream ist(str);
    std::string tmp;
    while(ist >> tmp) 
        ++count_words;
    std::cout<<count_words<<'\n';
}
Yandex
Объявления
31.03.2011, 23:21     Найти количество слов в символьном массиве
Ответ Создать тему
Опции темы

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