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

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

Войти
Регистрация
Восстановить пароль
 
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
#1

Substr и рекурсия - C++

08.06.2014, 02:37. Просмотров 213. Ответов 0
Метки нет (Все метки)

Доброй ночи!

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
void extract(string*, string&);
 
int main()
{
    string array[4];
    string test = "FOO bar,1444,63333,99222,100333";
    int first = test.find(',');
    string data = test.substr(first + 1);
    cout << data << endl;
    extract(array, data);
    for (int i = 0; i < 4; i++)
        cout << array[i] << endl;
 
 
    return 0;
}
 
void extract(string* a, string& s)
{
    int start = 0, end = 0;
 
    start = s.find(',');
    end = s.find(',', start + 1);
    if (end == string::npos) {
        *a = s.substr(start + 1);
        return;
    }
    *a++ = s.substr(start + 1, (start - end - 1)); //ЗДЕСЬ ПОЧЕМУ-ТО СТРОКА ВЫДЕЛЯЕТСЯ НЕ ТАК КАК НАДО
    s = s.substr(end);
    extract(a, s);
}
Хочу чтобы в array было:
1444
63333
99222
100333
А получается вот так:
63333,99222,100333
99222,100333
100333

Прошу помочь разобраться.

Добавлено через 19 минут
А, там нужно:
C++
1
*a++ = s.substr(start + 1, (end - start - 1));
Решено.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2014, 02:37     Substr и рекурсия
Посмотрите здесь:

Русские символы и substr - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { setlocale( LC_ALL,&quot;Russian&quot; ); string sTmp; ...

Функция substr отказывается работать - C++
Здравствуйте! Подскажите, пожалуйста, в чем тут проблема, а то я не могу понять. Мне по заданию нужно считать строку из файла, и потом...

Работа со строками, функция substr - C++
Допустим есть строка, необходимо создать субстроку, отбросив первые пять символов. Если применить функцию substr: str.substr(5.n) ...

Рекурсия - C++
#include&lt;stdio.h&gt; void gg(int a,int b) { int i=0; if(a==20) return; printf(&quot;%d\n&quot;,a); printf(&quot;%d\n&quot;,b); gg(a+1,b-1); ...

Рекурсия - C++
Разработать рекурсивную функцию не возврашающую значений: Дано натуральное четное число n. Разработать функцию для вывода на экран...

рекурсия - C++
#include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; void someFunction ( int , int, int ); int main () { ...

РЕкурсия - C++
Мне нужно 5 задач по рекурсии с решениями,)))есмли не сложно-помогите, может ссылочку куда или что-нибудь)))заранее благодарен

Рекурсия - C++
Как переделать программу в рекурсию? char S='S', T='T', M={NULL}; int ST=5,i=0,j=0; int TS; void Per() { M=S; ...

Рекурсия - C++
Приветствую. Прошу помощи. Нужно посчитать Xn по формуле: С рекурсией плохо дружу. Заранее благодарен.

рекурсия - C++
здравствуйте! я начал изучать с++... дошел до функций (а именно рекурсии)... я понял, что рекурсия-это функция, которая сама себя...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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