Advertisement
Guest User

#2802

a guest
Sep 22nd, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.47 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cstring>
  4. #include <cmath>
  5.  
  6. using namespace std;
  7.  
  8. struct elev
  9. {
  10.     char nume[101],pren[101];
  11.     int m1, m2, m3;
  12.     float mg;
  13. } v[101];
  14.  
  15. int main()
  16. {
  17.     int n, p, i, k=0, j;
  18.     double ma_clasei=0;
  19.     cin>>n>>p;
  20.     for(i=1; i<=n; i++)
  21.     {
  22.         cin>>v[i].nume>>v[i].pren>>v[i].m1>>v[i].m2>>v[i].m3;
  23.         v[i].mg=(v[i].m1+v[i].m2+v[i].m3)/3.0;
  24.         ma_clasei+=v[i].mg;
  25.     }
  26.     ma_clasei/=(1.0*n);
  27.     ma_clasei=floor(ma_clasei * 100.0) / 100.0;
  28.     if(p==1)
  29.     {
  30.         for(i=1; i<=n; i++)
  31.         {
  32.             if(v[i].mg>ma_clasei)
  33.                 k++;
  34.         }
  35.         cout<<k;
  36.     }
  37.     if(p==2)
  38.     {
  39.         cout<<fixed<<setprecision(2)<<ma_clasei<<endl;
  40.         for(i=1; i<n; i++)
  41.         {
  42.             for(j=i+1; j<=n; j++)
  43.             {
  44.                 if(v[i].mg<v[j].mg)
  45.                     swap(v[i],v[j]);
  46.                 if(v[i].mg==v[j].mg)
  47.                 {
  48.                     if(strcmp(v[j].nume,v[i].nume)<0)
  49.                         swap(v[i],v[j]);
  50.                     if(strcmp(v[j].nume,v[i].nume)==0)
  51.                     {
  52.                         if(strcmp(v[j].pren,v[i].pren)<0)
  53.                             swap(v[i],v[j]);
  54.                     }
  55.                 }
  56.             }
  57.  
  58.         }
  59.         for(i=1; i<=n; i++)
  60.         {
  61.             cout<<v[i].nume<<" "<<v[i].pren<<" "<<fixed<<setprecision(2)<<v[i].mg<<endl;
  62.         }
  63.     }
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement