#include <iostream>
#include <string>
using namespace std;
// Структура
struct NOTE {
string fam; // фамилия
string im; // имя
string tel; // телефон
int dr[3]; // день, месяц, год
};
int main() {
const int N = 8;
NOTE zapis[N];
// Ввод данных
for (int i = 0; i < N; i++) {
cout << "Введите фамилию: ";
cin >> zapis[i].fam;
cout << "Имя: ";
cin >> zapis[i].im;
cout << "Телефон: ";
cin >> zapis[i].tel;
cout << "День рождения (день месяц год): ";
cin >> zapis[i].dr[0] >> zapis[i].dr[1] >> zapis[i].dr[2];
}
// Сортировка по дате рождения
for (int i = 0; i < N - 1; i++) {
for (int j = 0; j < N - i - 1; j++) {
// Сравниваем года
if (zapis[j].dr[2] > zapis[j+1].dr[2]) {
swap(zapis[j], zapis[j+1]);
}
// Если года равны, сравниваем месяцы
else if (zapis[j].dr[2] == zapis[j+1].dr[2] &&
zapis[j].dr[1] > zapis[j+1].dr[1]) {
swap(zapis[j], zapis[j+1]);
}
// Если года и месяцы равны, сравниваем дни
else if (zapis[j].dr[2] == zapis[j+1].dr[2] &&
zapis[j].dr[1] == zapis[j+1].dr[1] &&
zapis[j].dr[0] > zapis[j+1].dr[0]) {
swap(zapis[j], zapis[j+1]);
}
}
}
// Поиск по телефону
string poisk;
cout << "\nВведите номер телефона: ";
cin >> poisk;
int found = -1;
for (int i = 0; i < N; i++) {
if (zapis[i].tel == poisk) {
found = i;
break;
}
}
if (found != -1) {
cout << "\nНайден: " << zapis[found].fam << " " << zapis[found].im
<< ", тел: " << zapis[found].tel
<< ", дата: " << zapis[found].dr[0] << "." << zapis[found].dr[1]
<< "." << zapis[found].dr[2] << endl;
} else {
cout << "Не найден\n";
}
return 0;
}