Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Dushesko
0 / 0 / 0
Регистрация: 25.02.2017
Сообщений: 2
#1

Функция формирующая из строки массив слов

25.02.2017, 10:45. Просмотров 348. Ответов 3
Метки нет (Все метки)

C++
.Описать процедуру SplitStr(S,W,N), которая формирует по данной строке S массив W слов, входящих в S(массив W и его размер N являются выходными параметрами). Словом считается набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки; S содержит не более 10 слов. Используя функцию SplitStr, найти количество слов N, содержащихся в данной строке S, и сами эти слова.
пРОбелы, идущие подряд, должны считаться за слово, у меня не получается это реализовать

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
# include <iostream>
# include <string>
 
using namespace std;
void SplitStr(string S, string *W, int *N)
{
int i, j;
 for (i=0, *N=0; i<S.length(); i=j+1)
 {
 j = S.find_first_of(" ", i); 
  if (j<0) j = S.length();
 W[(*N)++] = S.substr(i, j-i);
 }
}
 
int main()
{
string S;
string *W = new string[10];
char i;
int N;
getline(cin, S);
SplitStr(S, W, &N);
cout << N << " words:" << endl;
 for (i=0; i<N; i++)
 cout << W[i] << endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2017, 10:45
Ответы с готовыми решениями:

Функция, получает строку слов и рзделителей, а на выходе имеет массив слов из строки и количество этих слов
мне нужна функция, которая во входе получает строку слов и рзделителей (&quot; &quot;,...

Функция, формирующая массив
Ребят тпомогите написать программу, подскажите с чего начать... Вот задание -...

Функция, формирующая одномерный массив
Написать функцию формирующую одномерный массив, состоящий из абсолютных...

Функция разделения строки в массив отдельных частей этой строки
Помогите написать функцию, которая на вход принимает строку типа String и...

Функция: вернуть массив слов, содержащихся в текстовом сообщении
Стоит такая задача: функция должна возвратить массив слов, содержащихся в...

3
zss
Модератор
Эксперт С++
7083 / 6619 / 4190
Регистрация: 18.12.2011
Сообщений: 17,450
Завершенные тесты: 1
25.02.2017, 12:04 #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
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
 
using namespace std;
void SplitStr(string S, vector<string>& W)
{
    istringstream ss(S);
    string wrd;
    while(ss>>wrd)
        W.push_back(wrd);
}
 
int main()
{
    vector<string> X;
    string S;
    getline(cin, S);
    SplitStr(S, X);
    cout << X.size() << " words:" << endl;
    for (size_t i=0; i<X.size(); i++)
        cout << X[i] << endl;
    // а лучше вывести через итератор:
    //for(vector<string>::iterator p=X.begin();p!=X.end();++p)
    //  cout<<*p<<endl;
    system("pause");
    return 0;
}
1
Dushesko
0 / 0 / 0
Регистрация: 25.02.2017
Сообщений: 2
27.02.2017, 10:35  [ТС] #3
Но когда я запускаю эту прогу, пробелы, идущие аодряд, по-прежнему не считаются за слова, а за разделители. ПОпробовал вместо двух строк перед комментарием вставить то, что закомментировано- error Id returned 1 exit status. И, если не трудно, объясните, ка работают новые строки?А то я учусь на 1-ом курсе и могу понять только то, что сам писал
0
Nemovok
247 / 92 / 91
Регистрация: 30.10.2015
Сообщений: 559
Завершенные тесты: 2
27.02.2017, 14:35 #4
Цитата Сообщение от Dushesko Посмотреть сообщение
Попробовал вместо двух строк перед комментарием вставить то, что закомментировано- error Id returned 1 exit status.
Вместо них можешь написать вот так (c++11):
C++
1
2
for (const auto& i : X)
    cout << i << endl;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2017, 14:35

Функция формирующая целое значение по строке из нулей и единиц, кодирующей это целое значение в двоичной форме
Напишите функцию, формирующую целое значение по строке из нулей и единиц,...

Разделение строки на массив строк из отдельных слов
Как разделить строку типа &quot;У него было много друзей.&quot; на массив строк,...

Функция для добавления строки в двумерный массив
Помогите написать функцию для добавления в двумерный массив строки


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

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

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