2つの質問がありますが、それらは相互に関連しています。
part:a->
ベクトルの要素を逆の順序で表示しようとしています。しかし、何も機能していません。私はイテロタールを次のように使用しました。
for (it=vec.end(); it!=vec.begin(); --it){
// it is iterator not reverse_iterator.
// do work
}
PS私はイテレータにあまり精通していません。私は今日初めてそれらを使用して、elemを逆の順序で表示しました。
また試しました。
for (int i=vec.size(); i!=0; i--){
//display
}
私が何をしても、常に要素が存在するのと同じ順序で表示されます。つまり、逆の順序では表示されません。
part_b->
再帰関数の出力をベクトルに直接格納できる方法はありますか?コードのように:私はこれが機能しないことを知っています。私は試しましたが、私が何をしているのかをあなたに教えてくれます。
#include <iostream>
using namespace std;
#include "vector"
int func(int num);
vector <int> vec;
int main() {
int num=34;
// I know this would not work. But is there any possibilitiy that
// I can store the output in a vector.
vec = binary(num);
// trying to display the vector.
for (int i=vec.size();i!=0;i--) {
cout<<vec[i]<<" ";
} // not working for reverse display.
} //main.
int func(int num) {
if (num==1) {
//vec.push_back(1);
return 1;
}
else if(num==0) {
//vec.push_back(0);
return 0;
}
else {
//vec.push_back(input%2);
return binary(input/2);
}
} //func.
質問を理解していただければ幸いです。パートbを実行できる場合は、ベクトルの要素を逆にする必要はありません。