Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
mexx-nikitin
78 / 78 / 3
Регистрация: 28.03.2010
Сообщений: 306
#1

Создать функцию, которой строка передаётся как параметр, и которая возвращает количество слов - C++

01.06.2010, 20:29. Просмотров 459. Ответов 9
Метки нет (Все метки)

создать функцию в которой строка передаётся как аргумент и возвращает количество слов
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2010, 20:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать функцию, которой строка передаётся как параметр, и которая возвращает количество слов (C++):

Создать функцию, которой строка передаётся как параметр, и которая возвращает количество слов - C++
создать функцию в которой строка передаётся как параметр и возвращает колличество слов в этой строке

создать фунуцию в которой строка передаётся как аргумент и возвращает количество слов - C++
создать фунуцию в которой строка передаётся как аргумент и возвращает количество слов

Написать функцию, которая возвращает количество слов в строке - C++
Задание Написать функцию, которая возвращает количество слов в строке(могут быть пробелы знаки препинаия). Заголовок ф-и: int wordCount...

Создать функцию, которая возвращает количество отрицательных элементов массива - C++
Создать функцию, которая возвращает количество отрицательных элементов массива. Массив передается функции в качестве параметра через...

Создать функцию, которая возвращает количество двузначных элементов массива - C++
2. Создайте функцию, которая принимает в качестве аргументов целочисленный массив и размер этого массива, а возвращает количество...

Написать функцию, которая зануляет массив переданный как параметр и возвращает кол-во отрицательных элементов до зануления? - C++
Написать функцию, которая зануляет массив переданный как параметр и возвращает кол-во отрицательных элементов до зануления? Такие дела.:(

9
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
01.06.2010, 20:44 #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
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
ssize_t words_count(const char * str, const char * delim){
    char *s, *p;
    ssize_t cnt;
    if ( ( s = strdup(str) ) == NULL )
        return -1;
    for ( cnt = 0, p = strtok(s, delim); p != NULL; ++cnt, p = strtok(NULL, delim) )
        ;
    free(s);
    return cnt;
}
 
#define DELIM " ,.;:!?\t\n"
#define BUF_LEN 256
 
int main(void){
    char buf[BUF_LEN];
    ssize_t cnt;
 
    while ( 1 ){
        printf("String: ");
        if ( ! fgets(buf, BUF_LEN, stdin) ){
            perror("fgets");
            exit(EXIT_FAILURE);
        }
        if ( *buf == '\n' )
            break;
        if ( ( cnt = words_count(buf, DELIM) ) == -1 ){
            fprintf(stderr, "Shit happens!\n");
            exit(EXIT_FAILURE);
        }
        printf("%d words.\n", cnt);
    }
 
    exit(EXIT_SUCCESS);
}
0
mexx-nikitin
78 / 78 / 3
Регистрация: 28.03.2010
Сообщений: 306
01.06.2010, 20:46  [ТС] #3
а можеш проще написать,просто я на первом курсе и невсё понимаю
0
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
01.06.2010, 20:48 #4
Цитата Сообщение от mexx-nikitin Посмотреть сообщение
а можеш проще написать,просто я на первом курсе и невсё понимаю
да неси, как есть - препод разберётся...
0
mexx-nikitin
78 / 78 / 3
Регистрация: 28.03.2010
Сообщений: 306
01.06.2010, 20:52  [ТС] #5
препод то разберётся)) , но потом заставит меня всё это объяснять.Лучше написать проще тогда никаких вопросов не задаст, напиши пожалуста попроще
0
AnDrew_LP
160 / 160 / 9
Регистрация: 29.05.2010
Сообщений: 435
01.06.2010, 20:56 #6
А так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<string>
using namespace std;
int kol_slov(string s)
{
 int kol=1;
 for(int i=0;i!=s.length();i++)
  {
      if(s.at(i)==' ' && s.at(i+1)!=' ') kol++; 
  }
 return kol;
}
int main(void)
{
   cout<<"Enter string\n";
   string s;
   getline(cin,s);
   cout<<kol_slov(s);
   cin.get();
}
а можеш проще написать,просто я на первом курсе и невсё понимаю
А я только восьмой клас закончил, и что?
1
mexx-nikitin
78 / 78 / 3
Регистрация: 28.03.2010
Сообщений: 306
01.06.2010, 20:57  [ТС] #7
спасибо,теперь понятно
0
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
01.06.2010, 21:02 #8
Цитата Сообщение от AnDrew_LP Посмотреть сообщение
if(s.at(i)==' ' && s.at(i+1)!=' ') kol++;
Пробел в конце строки - посчитается на слово больше...
0
AnDrew_LP
160 / 160 / 9
Регистрация: 29.05.2010
Сообщений: 435
01.06.2010, 21:04 #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<string>
using namespace std;
int kol_slov(string s)
{
 int kol=1;
 for(int i=0;i!=s.length();i++)
  {
      if(s.at(i)==' ' && s.at(i+1)!=' '&& i!=s.length()) kol++; 
  }
 return kol;
}
int main(void)
{
   cout<<"Enter string\n";
   string s;
   getline(cin,s);
   cout<<kol_slov(s);
   cin.get();}
1
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
01.06.2010, 21:36 #10
C
1
2
3
4
5
6
7
8
9
10
11
12
13
int countWords(const char* str)
{
   int count = 0;   
   while(*str)
   {
      if( isalnum(*str++) )
      {
     ++count;
     while( *str && isalnum(*str) ) ++str;
      }
   }
   return count;
}
0
01.06.2010, 21:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2010, 21:36
Привет! Вот еще темы с ответами:

Как создать функцию которая возвращает переменную одного из классов? - C++
Программа пишется в с++ builder 6. Есть несколько классов: class Diggitt{ int l; } class One: public Diggitt{ int...

Создать функцию, которая возвращает количество элементов массива, меньших чем число, заданное пользователем. Массив целочисленный, передается функции - C++
Добрый вечер! Помогите пожалуйста) Создать функцию, которая возвращает количество элементов массива, меньших чем число, заданное...

Написать функцию atoi(), которая принимает параметр - строку цифр и возвращает соответствующее ей целое - C++
Это оказалось мне не по-силам, поэтому прошу помощи,господа:) Напишите функцию atoi(), которая имеет параметр - строку цифр и...

Как создать функцию, которая возвращает максимум из двух, трех или четырех элементов? - C++
Нужно создать шаблонную функцию, которая возвращает максимум из двух, трех или четырех элементов. Не очень понимаю как написать функцию,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.