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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нахождение наименьшего нечетного натурального делителя k (k≠1) любого заданного натурального числа n http://www.cyberforum.ru/cpp-beginners/thread1202328.html
Помогите с этой задачой: Подпрограммы Составить функцию для нахождения наименьшего нечетного натурального делителя k (k≠1) любого заданного натурального числа n. Хотя бы подскажите идею для...
C++ Вывести элемент массива, который строго больше минимального Привет всем. У меня такая задача. Ввести элементы массива с клавиатуры, отсортировать его по возрастанию и вывести после сортировки элемент массива, который строго больше минимального. Если такого... http://www.cyberforum.ru/cpp-beginners/thread1202273.html
C++ Hex коды символов из char* в стринг
Добрый день. Голову себе сломал, гуглил. Все без толку. Есть массив символов (char*). Мне нужно получить строку std::string отображающую коды символов этого массива в hex формате. Для наглядности вот...
Шаблон класса Stack C++
Задание1: Реализовать в отдельном модуле шаблон класса «стек». Задание2: Решить на базе шаблона класса стек следующие задачи, создав программу - клиент: 1. Создать объект типа стек,...
C++ Отсортировать каждый столбец матрицы по возрастанию, сортировка Шелла http://www.cyberforum.ru/cpp-beginners/thread1202266.html
Помогите пожалуйста решить задачу. Есть матрица (nxn), нужно отсортировать каждый столбец, по возрастанию, алгоритмом Шелла. Ниже код, что нужно добавить? Спасибо. #include<iostream> using...
C++ Структура "Бытовые приборы" В файле типа RECORD хранится информация о поступивших в ремонт бытовых приборах: тип бытового прибора, год выпуска, наименование дефекта, наименование необходимой детали для ремонта, стоимость... подробнее

Показать сообщение отдельно
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245

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

08.06.2014, 02:37. Просмотров 223. Ответов 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));
Решено.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru