/
ArtT
/
Netology
Обзор
Документация
Войти
/
ArtT
/
Netology
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Part2/Task_2_3_2/Task_2_3_2.cpp
81 строка
2 KB
ArtT
Навёл порядок
14 ноя 2025, 15:46
14 ноя 2025, 15:46
27cf136
Код
Авторство
О чём код?
#include <iostream> #include <string> #include <fstream> using namespace std; class Address { private: string city = ""; string street = ""; int home{ 0 }; int flat{ 0 }; public: Address() = default; Address(string setCity, string setStreet, int setHome, int setFlat) : city{ setCity }, street{ setStreet }, home{ setHome }, flat{ setFlat } //создание экземпляра класса с инициализирующим начальным значением {}; string printAdress() { return city + ", " + street + ", " + to_string(home) + ", " + to_string(flat); } string getCity() { return city; } }; void sortArray(Address* arrAddress, int ArrSize) { for (int i = 0; i < ArrSize - 1; i++) { for (int j = 0; j < ArrSize - 1; j++) { //сортировка пузырьком if (arrAddress[j].getCity() > arrAddress[j + 1].getCity()) { Address maxEl = arrAddress[j]; arrAddress[j] = arrAddress[j + 1]; arrAddress[j + 1] = maxEl; } } } } int main() { setlocale(LC_ALL, "rus"); ifstream fin("in.txt"); if (fin.is_open()) { int sizeArr{ 0 }; fin >> sizeArr; Address* arrAddress = new Address[sizeArr]; for (int i = 0; i < sizeArr; i++) { string city; string street; int home{ 0 }; int flat{ 0 }; fin >> city >> street >> home >> flat; Address address(city, street, home, flat); arrAddress[i] = address; } fin.close(); sortArray(arrAddress, sizeArr); cout << sizeArr << endl; for (int i = 0; i <= sizeArr - 1; i++) { cout << arrAddress[i].printAdress() << endl; } delete[] arrAddress; } else { cout << "Не получилось открыть файл!" << endl; return EXIT_FAILURE; } return EXIT_SUCCESS; }