我正在處理我的第一個代碼,並且在新問題上再次被阻塞。迭代:變量和矢量前沿的總和,在另一個矢量中導出,擦除矢量前端
我有一個vectorA一堆值,並且我想執行以下而循環(在僞代碼):
「製作可變雙SUM = 0和可變INT計數。
採取矢量的前值,將其添加到SUM「
然後,在矢量擦除前值
可變SUM應該作爲電容器起作用:當SUM優於給定的恆定ü,
SUM變得等於到SUM - u
另一個矢量vecto rB中將存儲的每一次計值SUM>ü
現在我只是有一個包含我所有的值和列表導出到一個.txt文件一個VectorA。
我想找到一種方法來將vectorA的前端值放入局部變量中,以將其添加到SUM,然後擦除此前端值。 這可能嗎?有沒有更好的方法來做到這一點?
下面的代碼:
#include <iostream>
#include <fstream>
#include <vector>
#include <iterator>
#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=0.333333;
int l = 10; //width & height
int h = 10;
float u = 10; // UNIT
int main()
{
// vectors
vector <double> VectorA;
vector <double> vectorB;
int I = 0; //itération pour la somme des valeurs du vecteur
double SUM = 0; //somme des éléments du vecteurA
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;
//store
VectorA.push_back (D);
// next pixel/unit & next line
a = a+u;
if (a>l) {
a = 0;
b = b+u;
}
}
// export values to .txt file
ofstream output_file("./step1.txt");
ostream_iterator<double> output_iterator(output_file, "\n");
copy(VectorA.begin(), VectorA.end(), output_iterator);
}
對不起,myInts,myVals和curVal是什麼? –
對不起。 'myInts'應該是你的'vectorA',然後我把它改成'myVals',但是錯過了一些。我會將它們全部更改爲'vectorA'。 –
@ adrienlucca.wordpress.com:在那裏,我希望現在有更多意義。 –