x2311

Untitled

Jun 7th, 2022
1,060
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.26 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. #include <sstream>
  5. #include <algorithm>
  6.  
  7. #define INPUT "..\\tess.txt"
  8.  
  9. using namespace std;
  10. struct User_info {
  11.     string last_name = ""; //фамилия
  12.     int house_number = 0; //номер дома
  13.     int debt_apartment = 0; //заборгованість за квартиру
  14. };
  15.  
  16. /**
  17.  *  Створити файл структур із полями: прізвище, номер дому, заборгованість за квартиру.
  18.  *  Упорядкувати цей файл за зростанням номеру дому, а в межах одного дому – за
  19.  *  зростанням заборгованості.
  20.  *
  21.  * @return
  22.  */
  23. int main() {
  24.     ifstream file(INPUT); // я пробовал на "hex editor neo" НЕ ВСЕГДА работает(я пока еще учусь как его использовать)
  25.     string line;
  26.     vector<User_info> user;
  27. // запись информации о пользователе
  28.     while (getline(file, line)) {
  29.         stringstream ss(line);
  30.         User_info info_user;
  31.         ss >> info_user.last_name;
  32.         ss >> info_user.house_number;
  33.         ss >> info_user.debt_apartment;
  34.         user.push_back(info_user);
  35.     }
  36. //  Упорядкувати цей файл за зростанням номеру дому, а в межах одного дому – за
  37. //  зростанням заборгованості.
  38.     for (int i = 0; i < int(user.size()); i++) {
  39.         for (int j = 0; j < int(user.size()) - 1; j++) {
  40.             if (user[j + 1].house_number > user[j].house_number) {
  41.                 swap(user[j], user[j + 1]);
  42.             } else if (user[j + 1].house_number == user[j].house_number &&
  43.                        user[j + 1].debt_apartment < user[j].debt_apartment) {
  44.                 swap(user[j], user[j + 1]);
  45.             }
  46.         }
  47.     }
  48.    
  49.     // вывод результата на экран
  50.     for (int i = int(user.size()) - 1; i >= 0; i--) {
  51.         cout << "Last name : " << user[i].last_name << endl
  52.              << "House number:" << user[i].house_number << endl
  53.              << "Debt for the apartment:" << user[i].debt_apartment << endl << endl;
  54.     }
  55.  
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment