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

Подсчет количества слов в строке s разделенных пробелами, или запятой - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
VolodiaVoz
 Аватар для VolodiaVoz
31 / 31 / 1
Регистрация: 17.11.2010
Сообщений: 140
05.07.2011, 01:20     Подсчет количества слов в строке s разделенных пробелами, или запятой #1
Нужно написать простую программку на C или C + + ... Подсчет количества слов в строке s разделенных пробелами, или запятой. Для этого нужно использовать функцию: int Words (s). Нельзя использовать библиотеку string.h ... Заранее спасибо!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2011, 01:20     Подсчет количества слов в строке s разделенных пробелами, или запятой
Посмотрите здесь:

Доработка программы (Подсчет количества слов в строке) C++
Дан список слов, разделенных между собой пробелами C++
C++ Дан набор слов ,разделенных точкой с запятой
Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). ​​Определить количество слов, которые заканчиваются одной и той C++
заданы 2 строки, состоящие из слов, разделенных пробелами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
05.07.2011, 01:39     Подсчет количества слов в строке s разделенных пробелами, или запятой #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <algorithm>
#include <iterator>
#include <string>
#include <vector>
#include <sstream>
 
int main(){
  std::string  s("sdasd, sjdhas asjd, asjkd");
  std::replace(s.begin(), s.end(), ',', ' ');
  std::istringstream ist(s);
  std::cout << (std::vector<std::string>((std::istream_iterator<std::string>(ist)),
                                          std::istream_iterator<std::string>())).size();
  return 0;
}
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
05.07.2011, 01:48     Подсчет количества слов в строке s разделенных пробелами, или запятой #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот набросал.
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
#include <stdio.h>
 
#define  SLASH  " ,"    // здесь можно указывать какие разделители будут: '\t' '\n' '\r' -=|.
 
int is_slash(char ch) {
    const char* sc = SLASH;
    while( *sc ) {
         if(*sc++ == ch)
             return 1;
    }
    return 0;
}
 
int  Words(const char* str) {
   int len = 0;
   char ch = 0;
   do {
       if( is_slash(*str) || *str == '\0') {
            if( ! is_slash(ch))
               ++len;
       }
       ch = *str;
   } while(*str++ != '\0');
   return  len;
}
 
 
int main(void){
 
     char str[] = "oracle, db2   mysql,sybase,,,,,,APL       ADA, SNOBOL";
 
     printf("count word = %d\n", Words(str) ); // выведит 7-слов
 
    getchar();
    return 0;
}
VolodiaVoz
 Аватар для VolodiaVoz
31 / 31 / 1
Регистрация: 17.11.2010
Сообщений: 140
05.07.2011, 02:07  [ТС]     Подсчет количества слов в строке s разделенных пробелами, или запятой #4
Спасибо! Очень благодарен за помощь...
Yandex
Объявления
05.07.2011, 02:07     Подсчет количества слов в строке s разделенных пробелами, или запятой
Ответ Создать тему
Опции темы

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