Cách dùng std::fill để điền các giá trị trong mảng 2 chiều

Hi mọi người,
Mình có 1 đoạn code nhỏ sau để fill một 2d array:

#include <iostream>

using namespace std;
int d[11][11];

int main()
{
    fill(&d[0][0], &d[0][0] + sizeof(d), 100);
    for(int i = 1; i <= 10; ++i) {
        for(int j = 1; j <= 10; ++j)
            cout << d[i][j] << ' ';
        cout << endl;
    }
    return 0;
}

thì chạy bị lỗi. Mình tham khảo cách fill đó ở link sau: https://stackoverflow.com/questions/3948290/whats-the-safe-way-to-fill-multidimensional-array-using-stdfill
Cho mình hỏi phải sửa như thế nào ạ? (ngoài cách dùng vòng lặp để fill từng row ra)
Mình xin cảm ơn.

Vẫn chạy ổn mà nhỉ. https://repl.it/repls/OpaqueFlamboyantDistributeddatabase

3 Likes

Em chạy trên Codeblocks nó bị như này anh:

Update: Hix, chạy trên ideone thì bình thường :frowning:

sizeof d là bao nhiêu thế em :V

4 Likes

Hix thanks anh nhé! Stupid mistake quá

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?