C++ 为什么';这顶环不行吗?
我想知道我做错了什么。我想得到一堆不重复的向量。有人能帮我告诉我打字错误在哪里吗?我现在只是瞎了。它运行正常,没有错误。但它没有给出任何输出。我会非常感激的。我只是在为自己建一个图书馆C++ 为什么';这顶环不行吗?,c++,file-io,C++,File Io,我想知道我做错了什么。我想得到一堆不重复的向量。有人能帮我告诉我打字错误在哪里吗?我现在只是瞎了。它运行正常,没有错误。但它没有给出任何输出。我会非常感激的。我只是在为自己建一个图书馆 class vectGet { public: long long integral = 0; long long t = 14; string fname = ""; long s_nop(long t); } n; long vectGet::s_nop(lon
class vectGet {
public:
long long integral = 0;
long long t = 14;
string fname = "";
long s_nop(long t);
} n;
long vectGet::s_nop(long t) {
n.integral++;
if (abs(round((n.t*1.618)*n.t-(n.integral+0.618))-1) <= 4294967296)
return (abs(round((n.t*1.618)*n.t-(n.integral+0.618))-1));
else
return (abs(round(sqrt(n.t))+(round(sqrt(n.t))*round(sqrt(n.integral))+1)));
}
int main() {
long bn=0;
printf("How many Vectors should we make? ");
cin >> bn;
vector<long> deriv;
if (bn <= 0) {
printf("Invalid number of vectors, Exiting");
return 1;
}
printf("\nOutput File: ");
cin >> n.fname;
if (n.fname=="") {
printf("You must choose a filename to continue...");
return 1;
}
ofstream out;
out.open(n.fname.c_str(), std::ios::out);
for (long i=1;i<=bn;i++) {
n.t=n.s_nop(n.t);
for (long j=0;j<deriv.size();j++) {
if (n.t == deriv[j]) {
i--;
break;
}
deriv.push_back(n.t);
printf(".");
}
}
cout << "Writing to file.." << endl;
for (long j=0;j<deriv.size();j++)
out << deriv[j] << " ";
out.close();
return 0;
}
类向量集{
公众:
长积分=0;
长t=14;
字符串fname=“”;
长s_nop(长t);
}n;
长向量集::s_nop(长向量){
n、 积分++;
如果(abs(圆形((n.t*1.618)*n.t-(n.integral+0.618))-1)>bn;
矢量deriv;
如果(bn>n.fname;
如果(n.fname==“”){
printf(“必须选择文件名才能继续…”);
返回1;
}
流出的液体;
open(n.fname.c_str(),std::ios::out);
对于(长i=1;i
j这里是缺失的代码。这将创建一个在要创建的限制下的任意数量的向量列表。所有这些向量都可以按顺序复制,并且具有随机性
ofstream out;
out.open(n.fname.c_str(), std::ios::out);
for (long i=1;i<=bn;i++) {
n.t=n.s_nop(n.t);
deriv.push_back(n.t);
for (long j=1;j<deriv.size()-1;j++) {
if (n.t == deriv[j-1]) {
i--;
deriv.pop_back();
break;
}
}
}
cout << "Writing to file.." << endl;
for (long j=0;j<deriv.size();j++)
out << deriv[j] << " ";
out.close();
return 0;
}
流出的;
open(n.fname.c_str(),std::ios::out);
对于(长i=1;我可以发布mcve()?你所说的“无输出”是什么意思,它不是在生成文件?你是在关闭输出流吗?我试图使用mcve规则。这还不是全部代码。我确实接触了一个文件。我确实关闭了输出流。但它甚至不会进入顶部循环。bn
将保留该值,但计数器I
不想做任何事情,它会跳过循环。因此,在提出你的问题时,除了已经创建的文件外,没有任何文件输出。你能编辑以修复格式吗?这很难阅读。这看起来像是将几段代码粘贴在一起,看起来像一段。我会使用调试器逐步检查你的代码--查找类似的内容,例如,bn的值是多少(bn分配在哪里?如果可以,@AndyM我把剩下的代码都放上去了。太好了!非常感谢。我的代码现在完全可用了!没问题-如果这个问题解决了,请标记为已解决=)检查调试(我不知道您使用了什么工具,但gdb确实非常有用而且非常简单,除非您有一个类似visual studio的可视化调试器)