gpt4 book ai didi

c++ - 如何存储 while 循环中产生的数据?

转载 作者:搜寻专家 更新时间:2023-10-31 01:48:37 26 4
gpt4 key购买 nike

我在几个小时前开始学习 C++(这是我尝试学习的第一种编程语言),但我被一个非常简单(我确信)的问题挡住了......

基本上,我想从一种算法开始,该算法会在给定整数值的高度和宽度的二维表面上为任何点(由整数 a 和 b 定义)提供局部“密度值”。

我遇到的问题是,既然要复用结果,程序启动时出现的数据怎么存储(因为命令出现的数据:

//print
cout<<D<<endl;

我真的很努力地寻找解决方案,但没有找到任何东西......它可以存储在外部文件或某种“缓冲区”中,任何好的解决方案都可以做到这一点。

我只需要保留这个数据列表

谢谢!

这是我的代码:

#include <iostream>
#include <fstream>
//#include <vector> (the solution??)
#include <cstdlib>
#include <string>
#include <sstream>
using namespace std;

// constant values

float Da=0.1; //densities
float Db=0.5;
float Dc=1;
double Dd=1/3;

int l = 99; //width & height
int h = 99;

float u = 1; // UNIT


int main ()
{

float a = 0;
float b = 0; // Local variables



while (a<l+1, b<h+1){

//values for given a & b

double DL = Da-Da*(b/h)+Dc*(b/h);
double DR = Db-Db*(b/h)+Dd*(b/h);
double D = DL-DL*(a/l)+DR*(a/l);

//print
cout<<D<<endl;

// next pixel & next line
a++;
if (a>l) {
a = 0;
b = b+u;
}
}
}

最佳答案

如果您只想将它​​们存储在列表或其他内容中,那么正如@Ben Voigt 提到的那样, vector 是一个不错的选择...

在你的情况下:

std::vector<double> myVector;
.
.
.
.
double D = DL-DL*(a/l)+DR*(a/l);

// Storing over the vector
myvector.push_back (D);

所以现在您可以以任何您想要的方式使用 vector ...不要忘记取消注释您的行以包含 vector ...您还可以使用“pop_back”方法在需要时从中删除某些内容...

通过文件加载 vector : Writing Vector Values to a File

操作 vector 的好链接:http://msdn.microsoft.com/en-IN/library/8wt934f9%28v=vs.71%29.aspx

如果你需要了解 vector :http://www.cplusplus.com/reference/vector/vector/

关于c++ - 如何存储 while 循环中产生的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17561281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com