0
このコードをデバッグしようとすると、ベクトル{1,2}が与えられている場合、{1,2,2,4}が出力されます。しかし、私はループを得ています。ここでC++ベクトル内の要素の倍数を追加する
コードです:
#include <iostream>
#include <vector>
using namespace std;
void Add_Doubles(vector<int> & A){
for (int i=0; i< A.size(); i++)
A.push_back(2*A[i]);
}
void print (const vector<int> & A){
for (int i=0; i<A.size(); i++)
cout << A[i] <<" ";
cout << endl;
}
int main(){
vector<int> A;
A.push_back(1);
A.push_back(2);
Add_Doubles(A);
print(A);
Add_Doubles(A);
print(A);
return 0;
}
私はそれが出ていないループのためだと感じるが、それは何か他のものかもしれません。どんなポインタが助けになるでしょう!
ヒント:要素を 'push_backすると' A.size()に何が起こりますか?いつあなたのループは止まるのですか? – 6502
'Add_Doubles'は何をすべきでしょうか? – George