01/10/2018, 11:13

Lỗi truy cập std::vector

Chào mọi người. Em đang có function tạo số ngẫu nhiên.
Đoạn code của em như sau.

using namespace std;

void Buildvect(vector <int> &vect, int numberItems) {
    srand(time(NULL));
    for(int i = 1; i <= numberItems; ++i)
        vect.push_back(rand() % 100 + 1);
}
void Displayvect(vector <int> vect) {
    for(int i = 1; i <= vect.size(); ++i)
        cout << vect[i] << " 
 ";
}

int main()
{
    vector <int> numbers;
    Buildvect(numbers, 10);
    Displayvect(numbers);
    cout << endl;

    sort(numbers.begin(), numbers.end());
    Displayvect(numbers);
    cout << endl;
    return 0;
}

Tuy nhiên khi Build code thì rạo 1 số ngẫu nhiên rất là lớn ( > 100). Mọi người xem giúp em có sai xót gì không ạ. Em xin cảm ơn
95
82
53
11
54
70
90
40
95
1358316013

rogp10 viết 13:25 ngày 01/10/2018

i <= vect.size() là sai, phải là < do bạn ghi vect[i].

Dong Ki viết 13:14 ngày 01/10/2018

À em cảm ơn. Quên là vector sẽ chạy từ 0. Như trên i của em phải khởi tạo bằng 0 nữa.
Thank anh

Bài liên quan
0