2013-11-21 29 views
0

我需要找到最大的總和含有它的數字第一或第二號出2是否是更大如何找到它?找到的最大的總和出的是,它包含數字和

假設n = 10,兩個放置數字分別是6和2,如下:7和1, 5和6,1和8,4和3.然後答案應該是最大的總和是11 ,它包含數字是5和6,而更大的麻木是第二個。

我有一個代碼:

#include <iostream> 
#include <fstream> 
#include <iomanip> 

using namespace std; 

int main() 
{ 


int p, a, i; 
int n; 
int sum; 

ofstream fr("Rezults.txt"); 
ifstream fd("Data.txt"); 
fd>>n; 

cout<<n<<endl; 





for (i=1; i<=n/2; i++) 
{ 
    fd>>p>>a; 
    sum=p+a; 
    for (int j=sum; j<=n/2; j++); 
    { 
      cout<<sum<<endl; 

    } 

} 


fd.close(); 

fr<<sum; 

fr.close(); 


return 0; 
} 
+0

你的問題是什麼? –

+0

@BrianGradin問題是如何找到最大的數字,它包含數字以及兩個數字中的第一個或第二個數字是否更大。 – POL

+0

這不是一個有效的英語句子。我仍然不明白你在問什麼。 –

回答

1

我覺得你的代碼應該是這樣的:

#include <iostream> 
#include <fstream> 
#include <iomanip> 

using namespace std; 

int main() 
{ 


int p, a, i; 
int n; 
int sum; 

ofstream fr("Rezults.txt"); 
ifstream fd("Data.txt"); 
fd>>n; 

cout<<n<<endl; 



fd>>p>>a; 
int biggestSum=p+a; 
int first = p; 
int second = a; 
for (i=2; i<=n/2; i++) 
{ 
    fd>>p>>a; 
    sum=p+a; 
    if(sum > biggestSum) 
    { 
     biggestSum = sum; 
     first = p; 
     second = a; 
    } 

} 

cout <<"biggest sum is "<<biggestSum<<"\n"; 
cout <<"The first number is "<<first<<"\n"; 
cout<<"The second number is "<<second<<"\n"; 

fd.close(); 

fr<<sum; 

fr.close(); 


return 0; 
} 

更新:你應該小心的索引i for循環,應該通過啓動2因爲您在for循環之前讀取前兩個數字。

相關問題