Why am i getting this output 'Process finished with exit code -1073741819 (0xC0000005)'? - c++

-3

include...

int main(){

int tracker = 1;
int n = 5000;
int skip;
int start = 0;

//4999 elements long
std::vector<int> k = {1819, 1289, 1273, 1097, 1125, 1267, 1894, 1252, 1657, 1521, 1072, 1738, 1381, 1467, 1698, 1630, 1761, 1803, 1160, 1082, 1977, 1165, 1088, 1038, 1753, 1112, 1503, 1723, 1890, 1810, 1357, 1189, 1126, 1868, 1710, 1806,...}
std::vector<int> main(5000);

std::iota(std::begin(main), std::end(main), 1);

for (int i = 1; i < n ; ++i) {
    skip = k[0];
    for (int j = start; tracker <= skip; ++j) {
        if ((j - (main.size() - 1)  == 0) && (tracker < skip)){
            tracker++;
            j = -1;
        }
        else if (tracker == skip){
            main.erase(main.begin() + j);
            k.erase(k.begin());
            start = j;
            tracker++;
        } else {
            tracker++;
        }
    }

    tracker = 1;
}

std::cout << main[0];

return 0;
}

The program works for short vector but doesn't for long vectors. This program is about removing a certain element from the vector until only one element is left according to the numbers of element to skip, that is k[0].

c++
asked on Stack Overflow Oct 21, 2018 by Rahul Singh • edited Oct 21, 2018 by Mohammad

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0