- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做一个 Gecode 项目,代码应该输出一个如下所示的文件:
n: 17
x: {0, 0, 16, 18, 17, 31, 32, 0, 34, 10, 30, 37, 38, 30, 30, 10}
y: {0, 27, 28, 14, 0, 31, 20, 17, 11, 17, 0, 0, 6, 7, 11, 25}
s: 43
runtime: 0.137
failure: 127
以上是代码应输出的示例。我尝试执行以下代码:
virtual void
print(std::ostream& os) const {
string filename = "project1-t15-n" + n + ".txt";
ofstream myfile;
myfile.open (filename);
myfile << "n: " << n << std::endl;
myfile << "x: {";
for (int i = 0; i < x.size(); i++) {
if (i != 0) {
myfile << ", ";
}
myfile << x[i];
}
myfile << "}" << std::endl;
myfile << "y: {";
for (int i = 0; i < y.size(); i++) {
if (i != 0) {
myfile << ", ";
}
myfile << y[i];
}
myfile << "}" << std::endl;
myfile << "s: " << s << std::endl;
//???????????????????????????????? print runtime and failures
myfile.close();
}
我知道 n、s、x 和 y 是正确的,但我有两个问题:
1: print(std::ostream& os) const
是打印到文件时的正确用法吗?
2:如何从 Gecode 输出中获取运行时间和故障?他们内置的打印功能可以做到这一点。
最佳答案
myfile << "s: " << s << std::endl;
我没有看到任何 s
在你的代码中,它是什么?此外,您的打印方法的签名表示它已经获得输出流。这是真的?谁调用它,从哪里以及以何种论据调用它?如果其他一些方法真的调用了 print 并给它输出流,那么你可能应该使用它,而不是创建你自己的。
更新:查看了 Gecode 的文档,找到了定义 print() 的地方:
http://www.gecode.org/doc-latest/reference/driver_8hh_source.html#l00666
所以你可以在你自己的类中重新定义这个方法,它继承自 ScriptBase(我想这就是你应该如何为 Gecode 编写这些东西),但是你应该使用提供的参数,即:
virtual void
print(std::ostream& os) const {
os << "n: " << n << std::endl;
os << "x: {";
// etc
实际打印到特定文件 i/o 控制台的一个选项是简单地运行带有重新路由输出的程序。例如。如果您的程序名为 myprogram 并且您的文件名为 myfile.txt,请将其运行为:
myprogram >> myfile.txt
它会将所有内容打印到文件而不是控制台。
此外,就文档 ( http://www.gecode.org/doc-latest/MPG.pdf ) 而言,如果您有 ScriptBase 派生类 S,则可以直接从 main() 方法调用其方法 S->print(),并提供正确的文件在那里流式传输,即:
S* s= new S; // something like that
ofstream f("myfile.txt");
s->print(f);
...
关于c++ - 使用 Gecode 打印到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19622740/
我为 VS 2017 安装了 Gecode 6.0。将目录添加到/lib 和/include。然后将 gecode/int.hh 包含到 Hello World 程序中。编译过程中出现了 3 个奇怪的
我正在使用 minizinc 和 gecode 以分布式方式解决最小化问题。我有多个分布式服务器,它们使用相同的输入来解决相同的模型,并且我希望所有服务器都能获得相同的解决方案。 问题是模型有多个解决
我正在使用 minizinc 和 gecode 以分布式方式解决最小化问题。我有多个分布式服务器,它们使用相同的输入来解决相同的模型,并且我希望所有服务器都能获得相同的解决方案。 问题是模型有多个解决
我通过它的 C++ API 使用 Gecode,这是一种带有正面和负面示例的学习环境。在这种情况下,我有两个 BoolVarArray:positive_bags_ 和 negative_bags_。
我在这里发帖询问是否有一种方法可以交替使用不同的分支策略。让我解释一下,我有一个有效的分支策略,我们称之为策略A。最大的问题是策略 A 不能经常使用。因此,当我无法使用策略 A 时,我会使用另一种策略
在Gecode中,我使用评价函数在分支时选择变量。 为了计算变量 v 的值(value),我需要访问一些其他变量值,但看起来在调用值(value)函数时,空间变量尚未分配任何值: Exception:
在Gecode中,我使用评价函数在分支时选择变量。 为了计算变量 v 的值(value),我需要访问一些其他变量值,但看起来在调用值(value)函数时,空间变量尚未分配任何值: Exception:
我正在做一个 Gecode 项目,代码应该输出一个如下所示的文件: n: 17 x: {0, 0, 16, 18, 17, 31, 32, 0, 34, 10, 30, 37, 38, 30, 30,
我正在尝试为我在 Gecode 中的分支使用评价函数。在 MPG Gecode 手册中,陈述了一个评价函数示例,以及如何将其传递给分支。但我无法弄清楚将功能放在哪里。它应该在脚本内部还是外部?现在我把
关注这篇文章 - http://zverovich.net/2013/06/27/visualizing-geographical-ampl-data-using-ipython-and-google
我正在寻找一种方法来复制 Space Gecode 中的实例,然后分析空间之间的差异。 但是在第一个拷贝之后就已经出错了。当复制 Gecode 中的建模和编程 一书中的代码时,如下所示,并简单地修改它
我正在尝试在 CentOS 6.3 x64 上安装 chef-solo,当我运行时: sudo chef-solo -c /etc/chef/solo.rb -j ~/chef.json -r htt
一般来说,我是地理编码和约束编程的新手。 到目前为止,我在获取 gecode 时没有遇到太多问题,这太棒了。但我想知道执行“嵌套”成本函数的最佳方法是什么。具体来说,我希望最小化 X,但在 X 相等的
考虑以下 google map 地理编码响应的 JSON 响应。它由一组 address_components 组成有五个元素。通常开发人员使用它的第一个项目(索引为 0 的项目)来查找地址元素,例如
我是 CMake 新手,需要一些关于一个简单问题的指导:我按照 this link 在我的 Ubuntu 18.04 机器中从源代码构建了gecode 。该库安装在 /opt/gecode-relea
我使用 Ubuntu 18.04 并尝试编译 Gecode 带来的示例“money.cpp”文件。我下载了 (gecode-release-5.1.0.tar.gz) 并解压。然后安装 Gecode
在Win8.1上使用VisualStudio2015 Express 我已经设置了我的外部包含文件的位置进入项目配置/VC++包括目录: $(VC_IncludePath);"C:\Program F
gem install berkshelf失败 Failed to build gecode library在 Centos 6 中。它失败并显示以下输出。 # /opt/chef/embedded/
我是一名优秀的程序员,十分优秀!