Advertisement
icatalin

21.02.2017 problema siruri de caractere

Feb 21st, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.45 KB | None | 0 0
  1. /*Se citeste un vector in care sunt inregistrati elevii unei clase. Pentru fiecare elev vom retine numele, doua note si media.
  2. Afisati elevii clasei sortati descr. dupa medie.
  3. Afisati elevii care nu sunt corigenti ordonati alfabetic.
  4. */
  5.  
  6. #include <iostream>
  7. #include <cstring>
  8. #include <fstream>
  9.  
  10. using namespace std;
  11.  
  12. ifstream f("date.in");
  13.  
  14. struct elev
  15. {
  16.     char nume[256];
  17.     float nota1,nota2;
  18.     float media;
  19. } v[100],w[100];
  20.  
  21. int main()
  22. {
  23.     int n,i,j;
  24.     f>>n;
  25.  
  26.     for (i=1; i<=n; i++)
  27.     {
  28.         f>>v[i].nume;
  29.         f>>v[i].nota1>>v[i].nota2;
  30.  
  31.         v[i].media=(v[i].nota1 + v[i].nota2)/2;
  32.     } // se face media
  33.  
  34.     for (i=1; i<n; i++)
  35.         for (j=i+1; j<=n; j++)
  36.         if (v[i].media < v[j].media)
  37.         swap(v[i],v[j]); // se ordoneaza descr dupa medie
  38.  
  39.  
  40.  
  41.     for (i=1; i<=n; i++)
  42.         cout<<v[i].nume<<" "<<v[i].media<<'\n'; // se afiseaza elevii descr dupa medie
  43.  
  44.     int k=0,m; // se face un vector nou pentru a memora elevii care nu sunt corigenti
  45.  
  46.     for (i=1; i<=n; i++)
  47.         if (v[i].media>=5)
  48.     {
  49.         k++;
  50.         w[k]=v[i];
  51.     }
  52.  
  53.     cout<<'\n';
  54.  
  55.     m=k;
  56.  
  57.      for (i=1; i<m; i++) // se ordoneaza alfabetic (dupa prima litera) elevii
  58.         for (j=i+1; j<=m; j++)
  59.         if (w[i].nume[0] > w[j].nume[0])
  60.         swap(w[i],w[j]);
  61.  
  62.      for (i=1; i<=m; i++) // se afiseaza in ordine alfabetica
  63.         cout<<w[i].nume<<" "<<w[i].media<<'\n';
  64.  
  65.     return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement