Как я могу назначить номер определенному элементу 2D вектора, не изменяя другие элементы в строке?
Я пытаюсь присвоить значение элементу в 2D-векторе, но значение присваивается всей строке в векторе.
void prinVec2D(vector<vector<int> > & A) {
for (int i = 0; i < A.size(); i++) {
for (int j = 0; j < A[i].size(); j++) {
cout << A[i][i] << " ";
}
cout << endl;
}
}
vector<vector<int> > generateMatrix(int A) {
vector<vector<int> > ans(A, vector<int> (A, 0));
ans[1][1] = 1;
return ans;
}
int main() {
int A = 4;
vector<vector<int> > abc(A, vector<int>(A, 0));
abc = generateMatrix(A);
prinVec2D(abc);
return 0;
}
Ожидаемое:
0 0 0 0 \ n
0 1 0 0 \ n
0 0 0 0 \ n
0 0 0 0 \ n
Выход:
0 0 0 0 \ n
1 1 1 1 \ n
0 0 0 0 \ n
0 0 0 0 \ n