7-107 Tri du carnet d'adresses (20 points)

Format d'entrée:
saisissez la première ligne pour donner un entier positif n (<10). Dans les n lignes suivantes, chaque ligne donne les informations d'un ami au format "nom, anniversaire, numéro de téléphone", où "nom" est une chaîne de lettres anglaises ne dépassant pas 10 et "anniversaire" est une date au format aaaammjj , "" Numéro de téléphone "est une chaîne de caractères composée de 17 chiffres au maximum et de + et -.

Format de
sortie : affichez les informations sur les amis en fonction de leur âge, du plus âgé au plus jeune, et le format est le même que celui de la sortie.
Insérez la description de l'image ici

Insérez la description de l'image ici
Idée de question: trier selon un certain élément de la structure.

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

struct Friend {
    
    
	string name;
	int birthady;
	string number;
};
bool cmp(Friend a, Friend b) {
    
     return a.birthady < b.birthady; }
int main()
{
    
    
	int n;
	cin >> n;
	Friend arr[10];

	for (int i = 0; i < n; i++)
	{
    
    
		cin >> arr[i].name >> arr[i].birthady >> arr[i].number;
	}
	sort(arr, arr + n, cmp);

	for (int i = 0; i < n; i++)
		cout << arr[i].name << " "<< arr[i].birthady << " " << arr[i].number << endl;

	return 0;
}

Je suppose que tu aimes

Origine blog.csdn.net/xdg15294969271/article/details/113915399
conseillé
Classement