2016-10-08 11 views
-1

私が書きたいと思っているプログラムは、人々のIDで食品を配布することです。 そして、ソートメソッドを使用して、IDで人物をソートしています。問題は以下の通りです:数字を数字順にソートする -

9 90 
60 90 
81 90 
3 80 
5 80 
4 60 
72 60 

しかし、とき、それは正常に動作するソート方法、と私は一種のみID:私が欲しかった

Image

結果。私は問題が何であるか分かりません。

そして、これは私のコードです:

#include <iostream> 
#include <vector> 
#include <algorithm> 
using namespace std; 

struct Info 
{ 
    int id; 
    int weight; 
    bool operator < (const Info& val) const { 
     return val.weight < weight; 
    } 
}; 

int main() 
{ 
    vector<Info> info_v; 
    Info info; 
    int childNum = 0; 

    cin >> childNum; 

    for (int i = 0; i < childNum; i++) { 
     cin >> info.id >> info.weight; 
     info_v.push_back(info); 
    } 

    sort(info_v.begin(), info_v.end()); 
    for (int i = 0; i < childNum; i++) 
    { 
     cout << info_v[i].id << "\t" << info_v[i].weight << endl; 
    } 
    return 0; 
} 

どのように私が数字順に番号を並べ替えるのですか?私にいくつか考えてください!

+0

'std :: sort(vector)'から ''は本当に良いソート関数です。 –

+0

ポストコンパイル可能なコード。あなたはいくつかのインクルードがありません。 –

+0

ソート機能を使用していて、数字を数字順に並べ替えていません@ StackDanny – user19283043

答えて

0

タブ '\ t'を1つのスペースで置き換えます。

+0

面白いですが、答えとして本当に役に立たないと思いませんか? –

+0

彼が何を望み、彼が得たものを見てください。その後、変更を試みます。 – EvilTeach

+0

フォーマットを区切りますと '9 90'が間違っています... –

関連する問題