Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
81
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 <iomanip>
  3. #include <string.h>
  4. using namespace std;
  5. int main()
  6. {
  7. int n,p;
  8. cin>>n>>p;
  9. struct elev
  10. {
  11. float n1,n2,n3;
  12. float medie;
  13. char nume[105],prenume[105];
  14. }x[105];
  15. for (int i=1;i<=n;i++)
  16. {
  17. cin>>x[i].nume>>x[i].prenume>>x[i].n1>>x[i].n2>>x[i].n3;
  18. x[i].medie=(x[i].n1+x[i].n2+x[i].n3)/3;
  19. }
  20. float mg=0;
  21. for (int i=1;i<=n;i++)
  22. mg+=x[i].medie;
  23. mg=mg/n;
  24. int c=0;
  25. if (p==1)
  26. {
  27. for (int i=1;i<=n;i++)
  28. if (x[i].medie>mg)
  29. c++;
  30. cout<<c;
  31. return 0;
  32. }
  33. if (p==2)
  34. {
  35. cout<<setprecision(3)<<mg<<endl;
  36. for (int i=1;i<n;i++)
  37. for (int j=i+1;j<=n;j++)
  38. {if (x[i].medie<x[j].medie)
  39. {
  40. elev aux=x[i];
  41. x[i]=x[j];
  42. x[j]=aux;
  43. }
  44. if (x[i].medie==x[j].medie)
  45. {if (strcmp(x[i].nume,x[j].nume)>0)
  46. {
  47. elev aux=x[i];
  48. x[i]=x[j];
  49. x[j]=aux;
  50. }
  51. if (strcmp(x[i].nume,x[j].nume)==0)
  52. {
  53. if (strcmp(x[i].prenume,x[j].prenume)>0)
  54. {
  55. elev aux=x[i];
  56. x[i]=x[j];
  57. x[j]=aux;
  58. }
  59. }
  60. }
  61.  
  62. }
  63.  
  64. for (int i=1;i<=n;i++)
  65. { int c=0;
  66. int n1=x[i].medie;
  67. while (n1)
  68. {
  69. c++;
  70. n1/=10;
  71. }
  72. cout<<x[i].nume<<" "<<x[i].prenume<<" "<<setprecision(c+2)<<x[i].medie<<endl;
  73. }
  74. }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement