Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- #include <sstream>
- #include <algorithm>
- using namespace std;
- struct User_info {
- string last_name = ""; //фамилия
- int house_number = 0; //номер дома
- int debt_apartment = 0; //заборгованість за квартиру
- };
- /**
- * Створити файл структур із полями: прізвище, номер дому, заборгованість за квартиру.
- * Упорядкувати цей файл за зростанням номеру дому, а в межах одного дому – за
- * зростанням заборгованості.
- *
- * @return
- */
- int main() {
- ifstream file("user_info.txt");
- string line;
- vector<User_info> user;
- // запись информации о пользователе
- while (getline(file, line)) {
- stringstream ss(line);
- User_info info_user;
- ss >> info_user.last_name;
- ss >> info_user.house_number;
- ss >> info_user.debt_apartment;
- user.push_back(info_user);
- }
- // Упорядкувати цей файл за зростанням номеру дому, а в межах одного дому – за
- // зростанням заборгованості.
- for (int i = 0; i < int(user.size()); i++) {
- for (int j = 0; j < int(user.size()) - 1; j++) {
- if (user[j + 1].house_number > user[j].house_number) {
- swap(user[j], user[j + 1]);
- } else if (user[j + 1].house_number == user[j].house_number &&
- user[j + 1].debt_apartment < user[j].debt_apartment) {
- swap(user[j], user[j + 1]);
- }
- }
- }
- // вывод результата на экран
- for (int i = int(user.size()) - 1; i >= 0; i--) {
- cout << "Last name : " << user[i].last_name << endl
- << "House number:" << user[i].house_number << endl
- << "Debt for the apartment:" << user[i].debt_apartment << endl << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment