Я пытался использовать многомерный 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
, но это не сложно. Пожалуйста, дайте мне знать хороший источник для изучения использования vector
s в C++.
Я знал, что понятие референции, но я не знаю синтаксис для использования с 'VECTOR'. Можете ли вы также рекомендовать какой-либо источник для обучения векторам? –
@mozart: Мне понравился Accelerated C++, когда он вышел, но я полагаю, что он немного устарел. Я не уверен, какие там текущие вступительные книги. – NPE
@mozart, «Эффективный STL» Скотта Мейерса - отличный источник информации о стандартной библиотеке C++, включая векторы. Иногда это немного сложно, но если вы сражаетесь, вы будете знать все, что вам нужно. – Steed