Advertisement
Toliak

v3

Oct 12th, 2018
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.61 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. struct Address
  5. {
  6.     std::string street;
  7.     unsigned short house = 0;
  8.     unsigned short flat = 0;
  9. };
  10.  
  11. struct Villager
  12. {
  13.     std::string name;
  14.     Address address;
  15.     unsigned short gender = 0;
  16.     unsigned short old = 0;
  17. };
  18.  
  19. int main()
  20. {
  21.     size_t amount;
  22.     std::cout << "Enter amount of villagers: ";
  23.     std::cin >> amount;
  24.  
  25.     auto villagers = new Villager[amount];
  26.     for (size_t i = 0; i < amount; i++) {
  27.         Villager &v = villagers[i];
  28.         std::cout << "[Villager " << i << "] Enter name: ";
  29.         std::cin >> v.name;
  30.         std::cout << "[Villager " << i << "] Enter gender: ";
  31.         std::cin >> v.gender;
  32.         std::cout << "[Villager " << i << "] Enter old: ";
  33.         std::cin >> v.old;
  34.         std::cout << "[Villager " << i << ", Address] Enter street: ";
  35.         std::cin >> v.address.street;
  36.         std::cout << "[Villager " << i << ", Address] Enter house: ";
  37.         std::cin >> v.address.house;
  38.         std::cout << "[Villager " << i << ", Address] Enter flat: ";
  39.         std::cin >> v.address.flat;
  40.     }
  41.  
  42.     std::string street;
  43.     std::cout << "Enter street: ";
  44.     std::cin >> street;
  45.  
  46.     size_t result = 0;
  47.     for (size_t i = 0; i < amount; i++) {
  48.         Villager &current = villagers[i];
  49.         std::cout << "Street " << i << ": " << current.address.street << std::endl;
  50.         if (current.address.street != street) continue;
  51.  
  52.         if (current.gender == 0 && current.old > 18 && current.old < 60)
  53.             result++;
  54.     }
  55.  
  56.     std::cout << "Result: " << result << std::endl;
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement