几个小时前,我开始使用 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;
}
}
}