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

Выход за пределы вектора - C++

Восстановить пароль Регистрация
 
Illko
1 / 1 / 0
Регистрация: 25.05.2015
Сообщений: 31
28.04.2016, 13:52     Выход за пределы вектора #1
Программа кодирует несколько чисел в одно. Проблема состоит в том, что когда используется рекурсия в функции С(int x, vector<int>y) вылетает ошибка о том, что произошел выход за пределы вектора, хотя с каждой рекурсией длинна вектора уменьшается на 1, после чего она должна начать возвращать значения.

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
int C(int x, vector<int> y) {
    bool b = false;
        //если кол-во элементов вектора больше одного, то функция опять вызовет себя
    if (y.size() >= 2)
        b = true;
    else b = false;
    int n = 0;
    if (b == true) {
        vector<int>k(y.size() - 1);
        for (int i = 0; i < k.size(); i++)
            k[i] = y[i + 1];
        n = C((pow((double)(x + y[0]), 2.0) + 3 * x + y[0]) / 2, k);
    }
    else {
        n = (pow((double)(x + y[0]), 2.0) + 3 * x + y[0]) / 2;
    }
    return n;
}
int main()
{
    int x = 0;
    vector<int>y(2);
    y[0] = 5;
    y[1] = 6;
    int n = C(x, y);
    cout << n << endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2016, 13:52     Выход за пределы вектора
Посмотрите здесь:

C++ Выход за пределы массива
Выход за пределы вектора C++
C++ Выход за пределы цикла
Выход за пределы вектора C++
Выход за пределы памяти C++
C++ Выход за пределы вектора
C++ Выход за пределы массива
C++ Выход за пределы вектора

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
akaAxeL
66 / 66 / 30
Регистрация: 14.07.2013
Сообщений: 251
28.04.2016, 15:44     Выход за пределы вектора #2
Напишите ошибку, которая выводится, потому что у меня все работает. В данном случае выводится 246
Yandex
Объявления
28.04.2016, 15:44     Выход за пределы вектора
Ответ Создать тему
Опции темы

Текущее время: 02:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru