Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <fstream>
  4. using namespace std;
  5.  
  6.  
  7. int main() {
  8. int n;
  9.  
  10. //citim n si declaram vectorii in care vom stoca cadourile si persoanele
  11. cin >> n;
  12. vector<string> cadouri;
  13. vector<string> persoane;
  14.  
  15. //citim fiecare cadou pe rand si il introducem in vector
  16. string cadou;
  17. for (int i = 1; i <= n; i++) {
  18. cin >> cadou;
  19. cadouri.push_back(cadou);
  20. }
  21.  
  22. //citim fiecare persoana si o introducem in vector (while(cin >> persoana) citeste pana la sfarsitul consolei
  23. //while(cin) se foloseste cand nu stim numarul de date ce trebuie citie
  24. string persoana;
  25. while (cin >> persoana) {
  26. persoane.push_back(persoana);
  27. }
  28.  
  29. //pentru fiecare persoana din lista afisam numele
  30.  
  31. for (size_t i = 0; i < persoane.size(); i++) {
  32.  
  33. //afisam numele persoanei
  34. cout << persoane[i] << ": ";
  35.  
  36. int coeficient = 0;
  37. bool ok = true;
  38. while (ok) {
  39. /*
  40. exemplu:
  41. daca sunt 3 persoane
  42. persoana de pe pozitia 0 va primi cadoul 0, 3, 6 etc.. cat timp exista cadoul respectiv
  43. persoana de pe pozitia 1 va primi cadoul 1, 4, 7 etc.. cat timp acesta va exista
  44.  
  45. daca sunt 4 persoane
  46. persoana de pe pozitia 0 va primi cadoul 0, 4 etc..
  47. deci regula pentru cadou este urmatoarea: pozitia persoanei + numarul de persoane, pozitia persoanei + numarul de
  48. persoane * 2, etc...
  49.  
  50. coeficientul este defapt numarul de persoane * un anumit numar (la inceput 0, numarul de persoane, dupa numarul de
  51. persoane * 2, apoi *3 etc.. in functie de cate parcurgeri are while-ul)
  52. */
  53.  
  54. //daca cadoul exista, il afisam si insumam coeficientul cu numarul de persoane
  55. if (i + coeficient < cadouri.size()) {
  56. cout << cadouri[i + coeficient] << " ";
  57. coeficient+=persoane.size();
  58. }
  59. //daca cadoul nu exista returnam false ca sa iesim din while
  60. else {
  61. cout << endl;
  62. ok = false;
  63. }
  64. }
  65. }
  66.  
  67.  
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement