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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Нахождение наименьшего нечетного натурального делителя k (k≠1) любого заданного натурального числа n http://www.cyberforum.ru/cpp-beginners/thread1202328.html
Помогите с этой задачой: Подпрограммы Составить функцию для нахождения наименьшего нечетного натурального делителя k (k≠1) любого заданного натурального числа n. Хотя бы подскажите идею для решения.
C++ Вывести элемент массива, который строго больше минимального Привет всем. У меня такая задача. Ввести элементы массива с клавиатуры, отсортировать его по возрастанию и вывести после сортировки элемент массива, который строго больше минимального. Если такого элемента нет, вывести "NO", то есть, если массив 1 1 1 1 1. А если отсортированный массив - 1 1 3 5 6, то должно вывести 3. Первые 2 части задачи я сделал #include <stdio.h> #include <conio.h> int... http://www.cyberforum.ru/cpp-beginners/thread1202273.html
C++ Hex коды символов из char* в стринг
Добрый день. Голову себе сломал, гуглил. Все без толку. Есть массив символов (char*). Мне нужно получить строку std::string отображающую коды символов этого массива в hex формате. Для наглядности вот код как примерно делаю char chr = {0x63,0x78,0x1d}; std::string str; std::stringstream is; is<<std::hex; for(int i=0;i<3;i++) is<<(int)(chr); is >> str;
Шаблон класса Stack C++
Задание1: Реализовать в отдельном модуле шаблон класса «стек». Задание2: Решить на базе шаблона класса стек следующие задачи, создав программу - клиент: 1. Создать объект типа стек, параметризировав его типом AnsiString 2. Создать 2 объекта типа стек, параметризировав их типом float и вычислить сумму двух стеков. 3. Создать объект типа стек, параметризировав его типом Person Пример...
C++ Отсортировать каждый столбец матрицы по возрастанию, сортировка Шелла http://www.cyberforum.ru/cpp-beginners/thread1202266.html
Помогите пожалуйста решить задачу. Есть матрица (nxn), нужно отсортировать каждый столбец, по возрастанию, алгоритмом Шелла. Ниже код, что нужно добавить? Спасибо. #include<iostream> using namespace std; int main(){ setlocale(LC_ALL, "RUSSIAN"); int n,arr; cout << "Введите размер матрицы (nxn): "; cin >> n; cout << "Вводите элементы матрицы:" << endl;
C++ Структура "Бытовые приборы" В файле типа RECORD хранится информация о поступивших в ремонт бытовых приборах: тип бытового прибора, год выпуска, наименование дефекта, наименование необходимой детали для ремонта, стоимость ремонта. Составить программу для получения: • Сведений о приборах с заданным годом выпуска; • Информации о количестве приборов, стоимость ремонта которых больше заданной. #include <cstdlib> #include... подробнее

Показать сообщение отдельно
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
08.06.2014, 02:37     Substr и рекурсия
Доброй ночи!

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));
Решено.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru