a53

Baza De Date of

a53
Jan 23rd, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct data
  5. {
  6. string prenume,nume,functie,email,numar;
  7. unsigned long long salariu,varsta;
  8. };
  9.  
  10. data d[1001];
  11. int p;
  12. char c;
  13.  
  14. bool comp(data i,data j)
  15. {
  16. if(c=='-')
  17. {
  18. if(p==1)
  19. if(i.prenume>j.prenume)
  20. return 1;
  21. if(p==2)
  22. if(i.nume>j.nume)
  23. return 1;
  24. if(p==3)
  25. if(i.salariu>j.salariu)
  26. return 1;
  27. if(p==4)
  28. if(i.varsta>j.varsta)
  29. return 1;
  30. if(p==5)
  31. if(i.functie>j.functie)
  32. return 1;
  33. if(p==6)
  34. if(i.numar>j.numar)
  35. return 1;
  36. if(p==7)
  37. if(i.email>j.email)
  38. return 1;
  39. }
  40. else
  41. {
  42. if(p==1)
  43. if(i.prenume<j.prenume)
  44. return 1;
  45. if(p==2)
  46. if(i.nume<j.nume)
  47. return 1;
  48. if(p==3)
  49. if(i.salariu<j.salariu)
  50. return 1;
  51. if(p==4)
  52. if(i.varsta<j.varsta)
  53. return 1;
  54. if(p==5)
  55. if(i.functie<j.functie)
  56. return 1;
  57. if(p==6)
  58. if(i.numar<j.numar)
  59. return 1;
  60. if(p==7)
  61. if(i.email<j.email)
  62. return 1;
  63. }
  64. return 0;
  65. }
  66.  
  67. int main()
  68. {
  69. string s;
  70. int n,k=0;
  71. cin>>n;
  72. cin.get();
  73. for(int i=1;i<=n;i++)
  74. {
  75. getline(cin,s);
  76. vector<string> v;
  77. istringstream buffer(s);
  78. for(string w;buffer>>w;)
  79. v.push_back(w);
  80. for(int j=0;j<v.size();j++)
  81. switch(j)
  82. {
  83. case 0: d[k].prenume=v[j]; break;
  84. case 1: d[k].nume=v[j]; break;
  85. case 2: d[k].salariu=stoull(v[j]); break;
  86. case 3: d[k].varsta=stoull(v[j]); break;
  87. case 4: d[k].functie=v[j]; break;
  88. case 5: d[k].numar=v[j]; break;
  89. case 6: d[k].email=v[j]; break;
  90. }
  91. k++;
  92. }
  93. cin>>p>>c;
  94. stable_sort(d,d+k,comp);
  95. for(int i=0;i<k;i++)
  96. cout<<d[i].prenume<<" "<<d[i].nume<<" "<<d[i].salariu<<" "<<d[i].varsta<<" "<<d[i].functie<<" "<<d[i].numar<<" "<<d[i].email<<'\n';
  97. return 0;
  98. }
Add Comment
Please, Sign In to add comment