2016-09-28 216 views
0

我需要幫助。我正在編寫這個程序,需要計算.csv文件中兩個整數之間的差異。找出差異是很容易的,但是當我列出差異列表時,它們沒有特定的順序。我想挑選出具有最高價值的差異和特別的結果。我會怎麼做呢?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

你必須保存最大的差異yoursef –

+0

並在外側的循環,顯示它 –

回答

2

比較與以往最大的不同電流差(存儲在初始化變量astate),如果它是比以前更大的規模最大,然後分配。循環後打印astate的值。

+1

@DominickAlcantara類似的東西,但也許'diff> astate'。 –

+0

是否意味着使用 if(astate> diff)? –