Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 132
1

Debug Assertion Failed!

04.02.2017, 13:26. Просмотров 1114. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Имеется код:
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
32
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");                 //          по условию задачи я задаю вектор размером N, содержащий N-1     
        cout << "Вводите элементы в массив: " << endl;  // разностей между соседними величинами
    bool ok = true;
    vector<double> v;
    double numb;
    while (cin >> numb)
    {
        v.push_back(numb);
    }
    cout << "Исходный массив:";
    for (int i = 0; i < v.size(); i++)
    {
        cout << ' ' << v[i];
    }
    cout << ';' << endl;
 
    cout << "ok";
    for (int i = 0; i < (v.size() - 1); i++)
    {
        v[i] = v[i] - v[i - 1];
        cout << ' ' << v[i];
    }
    
 
    system("pause");
    return 0;
}
при попытке скомпилировать программу выдает ошибку.
Debug Assertion Failed!
...
Line: 1234
Expression: vector subscription out of range
...
===
я думаю что это связано с тем, что я работаю с ещё не сгенерированным вектором. Как избавиться от ошибки?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2017, 13:26
Ответы с готовыми решениями:

Debug assertion failed!
пишу библиотеку функции для работы с массивом. В функции вставки со сдвигом возникает ошибка при...

Debug assertion failed
Во время отладки вылазит такая ошибка,не могу понять в чём дело

debug assertion failed
Помогите пожалуйста,пишет debug assertion failed,когда запускаю .exe, а когда компилирую в...

Debug assertion failed
Здравствуйте! Есть 2 двусвязных списка. Нужно написать метод merge который эти списки соединяет....

4
Ушел с форума
Эксперт С++
16406 / 7381 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
04.02.2017, 13:38 2
Лучший ответ Сообщение было отмечено mskoromets как решение

Решение

См. строку 25:
v[i-1] при i==0 - это равнозначно такому: v[-1].
1
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 132
04.02.2017, 13:46  [ТС] 3
Убежденный, спасибо. Так будет правильно?
C++
1
2
3
4
5
6
 for (int i = 0; i < (v.size() - 1); i++)
    {
        if (i == 0) continue;
        v[i] = v[i] - v[i - 1];
        cout << ' ' << v[i];
    }
0
Ушел с форума
Эксперт С++
16406 / 7381 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
04.02.2017, 13:56 4
Так падать не будет, по крайней мере.
А правильно или неправильно, т.е. выполняет ли программа свою задачу - это тебе виднее...
1
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 132
04.02.2017, 22:20  [ТС] 5
Убежденный, Благодарю
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2017, 22:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Debug assertion failed
Подскажите кто-нибудь, почему ругается? // test.cpp: определяет точку входа для консольного...

Debug assertion failed
Я в с++ делаю первые шаги, так-что прошу сильно не пинать :) При вызове этой функции int...

Debug Assertion Failed
Ошибка. Не могу понять что не так. Как я понял с дебагера, проблема во втором освобождении памяти....

Debug assertion failed
Проблема при попытке релиза, дебажится при этом нормально, объясните мне, что может быть не так,...


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

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

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