/
0_0morfey
/
Sorting_address
Обзор
Документация
Войти
/
0_0morfey
/
Sorting_address
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
main.cpp
61 строка
2 KB
0_0morfey
Загрузить файлы в «»
25 янв 2026, 17:08
Верифицирован
25 янв 2026, 17:08
fcf0bed
Код
Авторство
О чём код?
#include <iostream> #include <fstream> #include <vector> #include <string> #include <algorithm> struct Address { std::string city; std::string street; int houseNumber; int apartmentNumber; }; // Функция сравнения для сортировки по названию города bool compareByCity(const Address& a, const Address& b) { return a.city < b.city; } int main() { std::ifstream inputFile("in.txt"); std::ofstream outputFile("out.txt"); if (!inputFile) { std::cerr << "Ошибка открытия файла in.txt" << std::endl; return 1; } int N; inputFile >> N; inputFile.ignore(); // Игнорируем остаток строки после считывания числа std::vector<Address> addresses(N); for (int i = 0; i < N; ++i) { std::getline(inputFile, addresses[i].city); std::getline(inputFile, addresses[i].street); inputFile >> addresses[i].houseNumber; inputFile.ignore(); // Игнорируем остаток строки inputFile >> addresses[i].apartmentNumber; inputFile.ignore(); // Игнорируем остаток строки } // Сортируем адреса по названию города (в алфавитном порядке) std::sort(addresses.begin(), addresses.end(), compareByCity); // Записываем количество адресов в выходной файл outputFile << N << std::endl; // Записываем отсортированные адреса в выходной файл в требуемом формате for (const auto& addr : addresses) { outputFile << addr.city << ", " << addr.street << ", " << addr.houseNumber << ", " << addr.apartmentNumber << std::endl; } inputFile.close(); outputFile.close(); return 0; }