プログラムは完全に実行され、ベクトルの番号は最終的にファイルに記録されますが、逆にはなりません。
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
void reversevector(vector<double> &vd, int i, int j)
{
if(i>=j) {
double temp = vd[i];
vd[i]=vd[j];
vd[j]=temp;
i++;
j--;
}
}
int main() {
double n = 0;
vector<double> vd;
while (cin>>n) {
vd.push_back(n);
}
reversevector(vd,0,vd.size()-1);
ofstream ofs("reversedlist.txt");
if(!ofs) {
cout<<"error";
exit(1);
}
for(int i=0; i<vd.size(); i++){
ofs<<vd[i];
}
ofs.close();
}
例: ベクターに 12345 を入力すると、54321 がファイルに出力されます。ファイルを開くと、まだ 12345 が含まれています。