2016-10-08 7 views
-1

내가 쓰려고하는 프로그램은 사람 ID로 음식을 배포하는 것입니다. 그리고 나는 그들의 ID로 사람들을 분류하기 위해 sort 메소드를 사용하고 있습니다. 문제는 다음과 같습니다 :번호를 숫자 순으로 정렬 - C++

Image

결과가 내가 원하는 :

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

을하지만 정렬 방법 I 종류의 유일한 ID가, 제대로 작동하는 경우. 문제가 뭔지 잘 모르겠습니다.

#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)'from ''은 정말 좋은 정렬 기능입니다. –

+0

포스트 컴파일 가능한 코드. 포함 된 항목이 누락되었습니다. –

+0

정렬 기능을 사용하고 자리 순서로 숫자를 정렬하지 않습니다 @ StackDanny – user19283043

답변

0

'\ t'탭을 하나의 공백으로 바꿉니다.

+0

재밌 네요.하지만 대답으로는별로 도움이되지 않습니까? –

+0

그가 원하는 것과 그가 얻는 것을보십시오. 그런 다음 변경을 시도하십시오. – EvilTeach

+0

형식을 구별하여 '9 90'을 잘못 배치했습니다 ... –

관련 문제