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

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

Войти
Регистрация
Восстановить пароль
 
Fusix
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 133
#1

Какой функцией можно посчитать количество данных слов в строке? - C++

26.02.2011, 12:44. Просмотров 585. Ответов 8
Метки нет (Все метки)

Несколько вопросов по строкам и char
1. Какой функцией можно посчитать кол-во данных слов с строке?
2. Какой функцией можно вырезать данное слово из строки?
3. Например есть строка: "exec -p C:\start.exe" как получить только "C:\start.exe"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2011, 12:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какой функцией можно посчитать количество данных слов в строке? (C++):

Посчитать количество слов в строке - C++
Задача такая Ввести строку символов. вывести на экран строку, посчитать количество слов в строке. :help: помогите !

Посчитать количество слов в строке - C++
Всем привет!Зарегался я на форуме недавно,минут 5 назад.У меня есть проблема,моя программа(внизу)должна считать сколько слов в строке.Мне...

Посчитать количество слов в строке - C++
Здравствуйте, я не знаю в чем дело, но прога всегда выдает что в строке 1 слово. #include <iostream> #include <string.h> #include...

Посчитать количество слов в строке - C++
Посчитать количество слов в строке

Посчитать количество слов в строке - C++
Здравствуйте! Дайте пожалуйста пример функции которая считает количество слов с строке с помощью функции strtok. Number_Word (char...

Посчитать количество слов в заданной строке - C++
Вычислить значение f= {q}^{sin(x)} функции где q – количество символов, которые надо найти в контрольной строке Контрольная строка...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
fasked
Эксперт С++
4935 / 2515 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
26.02.2011, 12:54 #2
Цитата Сообщение от Fusix Посмотреть сообщение
Например есть строка: "exec -p C:\start.exe" как получить только "C:\start.exe"
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main()
{
    int i;
    char string[] = "exec -p C:\\start.exe";
    char * pch = NULL;
 
    printf ("source string: \n%s\n\n", string);
    printf ("after split: \n");
 
    pch = strtok (string, " ");
    for (i = 0; pch != NULL; ++i) {
        printf ("%2d. %s\n", i + 1, pch);
        pch = strtok (NULL, " ");
    }
 
    printf ("\n");
    return 0;
}
Код
source string:
exec -p C:\start.exe

after split:
 1. exec
 2. -p
 3. C:\start.exe
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
26.02.2011, 12:54 #3
Цитата Сообщение от Fusix Посмотреть сообщение
1. Какой функцией можно посчитать кол-во данных слов с строке?
strtok()
Цитата Сообщение от Fusix Посмотреть сообщение
2. Какой функцией можно вырезать данное слово из строки?
strtok()
Цитата Сообщение от Fusix Посмотреть сообщение
3. Например есть строка: "exec -p C:\start.exe" как получить только "C:\start.exe"
C
1
2
3
4
char str[BUFSIZ] = "exec -p C:\\start.exe", wrd[BUFSIZ] = "C:\\start.exe", *p;
  for(p = strtok(str, " "); p; p = strtok(NULL, " "))
    if(!strcmp(p, wrd))
      printf("%s", p);
fasked
Эксперт С++
4935 / 2515 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
26.02.2011, 12:56 #4
asics, для такого примера лучше воспользоваться функцией strstr()
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
26.02.2011, 12:57 #5
fasked, Да,наверно так будет логичней.
vinternete
2 / 3 / 1
Регистрация: 02.11.2010
Сообщений: 129
28.02.2011, 09:56 #6
а как сделать такое:
строкой вводиться число 123132,234 и разделяется на 2 числа
123132
и
234
но только уже в int'e??
IrineK
Заблокирован
28.02.2011, 11:03 #7
А разделитель - именно запятая, или может быть и точка?

Добавлено через 28 минут
Просто, если вы с консоли вводите 123132,234 через запятую,то это сразу можно считать как два int:
C++
1
2
3
int a,b;
...
cin>>a>>b;
vinternete
2 / 3 / 1
Регистрация: 02.11.2010
Сообщений: 129
28.02.2011, 20:00 #8
в задании к сожалению сказано, что надо через строку разбивать...
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
28.02.2011, 20:12 #9
vinternete, Можно как-то так
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
#include <iostream>
#include <string>
#include <cctype>
#include <sstream>
 
int char_to_int(const char ch)
{
    return ch - '0';
}
 
int get_cnt_digit_num(int n)
{
    std::ostringstream ost;
    ost << n;
    return ost.str().length();
}
 
 
 
void func(const std::string &str, int &before_point, int &after_point)
{
  before_point = 0, after_point = 0;
  bool flag = false;
 
  for(int i = 0; i < str.length(); ++i)
  {
    if(isdigit(str[i]) && !flag)
      after_point = after_point * 10 + char_to_int(str[i]);
 
    else if(str[i] == '.' || str[i] == ',')
      flag = true;
 
    else if(isdigit(str[i]) && flag)
      before_point = before_point * 10 + char_to_int(str[i]);
  }
}
 
int main()
{
  std::string str("300.122");
  int before_point, after_point;
  func(str, before_point, after_point);
  std::cout << after_point << ' ' << before_point;
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2011, 20:12
Привет! Вот еще темы с ответами:

Посчитать и вывести количество непохожих слов в строке - C++
В общем проблема такова... Нужно посчитать и вывести количество не похожих слов в строке. Никак не могу это написать

Посчитать количество слов в строке, оканчивающейся точкой. - C++
имеется код, программка считает правда не слова, а пробелы) проблема в том, что если строка начинается с пробела, то значение будет...

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

Посчитать количество слов в К-ой строке и сформировать текстовый файл - C++
Дано: в текстовом файле fin.txt находится текст на русском языке. С клавиатуры вводится число K. Требуется: посчитать количество слов в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.02.2011, 20:12
Ответ Создать тему
Опции темы

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