2016-09-28 4 views
0

私は助けが必要です。私は.csvファイルの2つのintの違いを計算する必要があるこのプログラムを書いています。違いを見つけるのは簡単ですが、私は違いのリストを書いているので、彼らは特別な順序ではありません。私は差の最も高い値を選び出し、それを具体的に取りたいと思う。それをどうやってやりますか?Cout降順で倍増C++

double diff; 
    int astate; 

    string line8; 
    ifstream myfile8 ("elect12.csv"); 
    //cout << endl << "Total Popular Votes for Other Candidates: "; 
    while (getline (myfile8, line)) 
    { 
     istringstream iss(line); 
     int a, b, c, d, e; 
     if (!(iss >> a >> b >> c >> d >> e)) //{ break; } 
     diff = (a-b); 
     diff = diff/d; 
     diff = diff*100; 
     astate = diff;   
     /*cout << "Obama's best state was " << line8 << ", where he won by " << diff << " points." << endl;*/ 
     cout << astate << endl; 

差額はパーセンテージに変換されます。今のところ、& bの違いのすべてが返されています。最大の違いだけを返すにはどうすればよいですか?

これは意味をなさないと申し訳ありません。

+0

ループ内のcoutは有罪です –

+0

あなたは最大の見た目の差異を保存する必要があります –

+0

そして、ループを外して、それを表示してください –

答えて

2

現在の差異と以前の最大差異(に保存された変数astateに格納されている)と比較して、それが前回の最大値より大きい場合は代入します。ループの後にastateの値を出力します。

+1

@DominickAlcantaraそのようなものがありますが、代わりに 'diff> astate'かもしれません。 –

+0

その意味は if(astate> diff)ですか? –