1
我試圖使用多維vector
並更改行和列的值。使用多維向量
#include<iostream>
#include<vector>
using namespace std;
void changerow(vector<vector<int> > A, int row, int M, int P){
for(int j = 0; j < M; j++){
(A[row - 1])[j] = ((A[row - 1])[j] + P) % 10;
}
}
void changecolumn(vector<vector<int> > A, int column, int N, int P){
for(int i = 0; i < N; i++){
(A[i])[column - 1] = ((A[i])[column - 1] + P) % 10;
}
}
int main(int argc, char* argv[])
{
int T, N, M;
cin >> T >> N >> M;
if((T >= 1 && T <= 10) && (M >= 1 && M <= 100) && (N >= 1 && N <= 100)){
// Logic of the program
vector<vector<int> > A(N, vector<int>(M));
for(int i = 0; i < N ; i++){
for(int j = 0; j < M; j++){
cin >> (A[i])[j];
}
}
changerow(A,2,M,3);
for(int i = 0; i < N ; i++){
for(int j = 0; j < M; j++){
cout << A[i][j];
}
}
}
return 0;
}
我不知道如何通過向量的地址來更改元素,因爲只有向量的本地副本才能通過。我目前在閱讀Thinking in C++ Volume 1
,但沒有詳細說明。請讓我知道在C++中學習使用vector
的好資源。
我知道的引用這個概念,但我不知道語法與'VECTOR'使用。你也可以推薦學習矢量的任何來源? – 2013-03-23 08:53:30
@mozart:當它出來時,我喜歡加速的C++,但我想現在有點過時了。我不確定當前有哪些入門書。 – NPE 2013-03-23 09:03:31
@mozart,Scott Meyers的「Effective STL」是C++標準庫信息的重要來源,包括向量。有時候這有點困難,但如果你通過了,你會知道你需要的一切。 – Steed 2013-03-23 09:03:40