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

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

Войти
Регистрация
Восстановить пароль
 
дарт вейдер
5 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 92
#1

Как найти слова в строке между пробелами - C++

10.09.2013, 22:07. Просмотров 344. Ответов 4
Метки нет (Все метки)

вот прога которая просто считает пробелы, но мне надо слова между пробелами
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdio.h>
#include <string>
#include <conio.h>
#include<clocale>
using namespace std;
void main(void)
{
char s[255];
setlocale(LC_ALL,"Russian");
cout<<"Введите строку: ";
gets(s);
unsigned int a,i;
a=0;
for (i=0;i<strlen(s)-1;i++)
 if ((s[i]==' ') && (s[i+1]!=' '))
  a=a+1;
if (s[0]!=' ')
    a=a+1;
cout<<"В строке: "<<a<<" слов";
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2013, 22:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как найти слова в строке между пробелами (C++):

Дана строка слов котором разделены пробелами все слова в строке перевернуть на c++ - C++
Дана строка слов котором разделены пробелами все слова в строке перевернуть на c++

дополнить пробелами каждое слово так, чтобы его длинна приравнялась длинне самого длинного слова в строке - C++
Язык Си. Нужна помощь с файлами. Компиляция проходит успешно, но при запуске Windows выдает ошибку. Задача программы: дополнить пробелами...

Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются - C++
Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются. вот...

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

Как найти количество повторений слова в строке? - C++
Имеется массив слов. Нужно найти, сколько раз в нем повторяется каждое слово. Пробовал вот так: int cnt = 0; char* find; for (int i =...

Как найти количество повторений слова в строке? - C++
Доброго времени суток! Такой вопрос - как найти количество повторений каждого слова в строке? Вот код получения массива слов и их...

4
Belfegor
Ghost
173 / 173 / 6
Регистрация: 16.09.2012
Сообщений: 526
10.09.2013, 22:12 #2
слов будет на 1 больше нежели пробелов

Добавлено через 1 минуту

Не по теме:

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
 
int main() {
    string s;
    getline(cin, s);
    cout << (count(begin(s), end(s), ' ')) + 1 << endl;
 
    return 0;
}

1
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
10.09.2013, 22:13 #3
Как то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <sstream>
#include <string>
 
 
int main() {
   std::string str;
   std::getline(std::cin, str);
 
   std::istringstream iss(str);
   for (std::string word; iss >> word; ) {
      // ...
   }
}
1
Croessmah
Ушел
Эксперт CЭксперт С++
13554 / 7705 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
10.09.2013, 22:14 #4
Цитата Сообщение от Belfegor Посмотреть сообщение
слов будет на 1 больше нежели пробелов
А если между словами 5 пробелов?
1
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
10.09.2013, 22:37 #5
Цитата Сообщение от дарт вейдер Посмотреть сообщение
вот прога которая просто считает пробелы, но мне надо слова между пробелами
Эта программа как раз и считает слова между пробелами, другое дело, что написана она некачественно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int main()
{
    char s[256] = "";
    int count = 0;
 
    std::cin.getline(s, sizeof(s));
    if(s[0] != '\0')
    {
        for(int i = 1; s[i] != '\0'; ++i)
          if((s[i - 1] == ' ') && (s[i] != ' '))
            ++count;
 
        if(s[0] != ' ')
          ++count;
    }
 
    std::cout << "Count: " << count << '\n';
}
1
10.09.2013, 22:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2013, 22:37
Привет! Вот еще темы с ответами:

Как найти слова в строке, не содержащие повторяющихся букв - C++
как найти слова в строке, не содержащие повторяющихся букв?

Дана строка, содержащая разделенные пробелами слова, вывести все слова-палиндромы - C++
Дана строка, содержащая разделенные пробелами слова.Вивесты все имеющиеся слова-палиндлромы и их общее количество,срочно надо,у меня не...

Дана строка текста, в которой слова разделены пробелами и запятыми, вывести повторяющиеся слова - C++
Помогите пожалуйста! Как мне найти и вывести повторяющиеся слова? П.С. При работе со строками не использовать указатели. Строки...

Найти максимальную длину слова в заданной строке (как реализовать функцию, возвращающую два значения?) - C++
Задание в прикрепленном изображении. Весь форум облазил, все говорят про структуры, можно ли без них обойтись? Мне бы вернуть указатель и...


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

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

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