Module: コンパレータによるソート


Problem

5/11

構造体の配列をソートする

Problem

姓と名で構成される人のリストが与えられます。 リストを名字の昇順で並べ替えるプログラムを作成してください。
 
入力
まず、数値 N -mdash;リスト内の人数 (1<= N <= 100)。次に、N 個の名前と姓がスペースで区切られて書かれます。
 
出力
辞書式の昇順で姓でソートされた配列を出力する必要があります。

<本体>
入る 出力
3
イワン・イワノフ
シドロフ・ペトル
クルバトフ・エゴール
 
イワン・イワノフ
クルバトフ・エゴール
シドロフ・ペトル
 
Write the program below
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;

struct people {
string firstname, secondname;	
};

bool cmp(people first, people second) {   
}

int main() {


int N;

cin >> N;
vector<people> A (N);


    for(int i = 0; i < N; i++)
        cin>>A[i].firstname>>A[i].secondname;
        
    sort(A.begin(), A.end(), cmp );

    for(int i = 0;i< N; i ++)
      cout<<A[i].firstname<<" "<<A[i].secondname<<endl;

    
}  

     

Program check result

To check the solution of the problem, you need to register or log in!