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

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

Войти
Регистрация
Восстановить пароль
 
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
#1

Почему программа возврашает только 1 значение слов в string? - C++

06.11.2012, 21:41. Просмотров 253. Ответов 3
Метки нет (Все метки)

Программа должна считать количество слов - но всегда пишет только 1.
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream> 
#include <string> 
 
 
 
 
 
using namespace std;
 
      int countwords(char []);  //function returns the number of words in the string 
 
int main() 
{
    char message[1000];
    
    char list[80];
    int numwords;
    
        cout << "Homework 10: Solution to Project 1.\n"; 
        
        cout << "\n Enter a text string to test:\n";
        cin >> list; 
        
        
        
    
    
            numwords = countwords(message);
    
            cout << "\n There are " << numwords <<  " words in that text\n\n";
    
    
    
    system("Pause");
    return 0;
}
   
    int countwords(char list[])
    #define YES 1
    #define NO 0
    {
       int i, inaword, count = 0; 
       
       inaword = NO;
         for(i = 0; list[i] != '\0'; i++)
         {
               if (list[i] == ' ')
                 inaword = NO;
               else if (inaword == NO)
               {
                    inaword = YES;
                    count++;
               }
         }
         
         return(count);
       
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 21:41     Почему программа возврашает только 1 значение слов в string?
Посмотрите здесь:

Почему ноль не преобразуеться в string C++
C++ Замена слов в string
C++ Напечатать только те символы, которые встречаются только в одном из слов
Программа ищет первый столбик где находятся только непарный елементы!Почему не работает Иф? C++
C++ Почему введенное значение в консоли считывается только до пробела?
C++ Программа выводит только одно значение
C++ Почему программа считает только корень из Z?
C++ Почему программа выводит значение 0?
Нахождение количества слов в string C++
C++ Почему класс не принимает значение string?
String. Расположение слов в обратном порядке C++
Почему программа поиска простых чисел работает только до 61? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 542
06.11.2012, 21:45     Почему программа возврашает только 1 значение слов в string? #2
Мягко говоря по-странному написана программа.

int countwords(char list[]) - нет инициализации, всегда является "true", поэтому и возвращает единицу

Добавлено через 1 минуту
собственно и считается-то пустой массив.
C++
1
2
3
    char message[1000];
...
    numwords = countwords(message);
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
06.11.2012, 22:00  [ТС]     Почему программа возврашает только 1 значение слов в string? #3
Подскажите как надо - не соображу что-то.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 542
06.11.2012, 22:03     Почему программа возврашает только 1 значение слов в string? #4
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
#include <algorithm>
#include <iostream>
#include <iterator>
#include <sstream>
#include <vector>
#include <string>
 
int main() 
{
    std::string words = "dasdf  dddsd we ac eewe dass sssd sdf ttr ttff d ";
    std::vector<std::string> word;
    {
        std::stringstream ss(words);
        std::copy
        (
            std::istream_iterator<std::string>(ss),
            std::istream_iterator<std::string>(),
            back_inserter(word)
        );
    }
    
    std::cout << "count: " << word.size() << std::endl;
    
    system("pause >> NULL");
    return 0;
}
Yandex
Объявления
06.11.2012, 22:03     Почему программа возврашает только 1 значение слов в string?
Ответ Создать тему
Опции темы

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