Eddie_1337

15 atestat

Jan 25th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.     struct detalii {
  8.         float nota[6], med;
  9.         char nume[20], pren[20];
  10.     } v[31], aux;
  11.     ifstream f("elev.in");
  12.     ofstream g("elev.out");
  13.     int n, p; float m;
  14.  
  15.     f >> n;
  16.     for (int i = 1; i <= n; i++) {
  17.         p = 0; m = 0;
  18.         for (int j = 1; j <= 5; j++) {
  19.             f >> v[i].nota[j];
  20.             if (v[i].nota[j]) {
  21.                 p++;
  22.                 m += v[i].nota[j];
  23.             }
  24.         }
  25.         f >> v[i].nume >> v[i].pren;
  26.         v[i].med = m / p;
  27.     }
  28.  
  29.     p = 0;
  30.     while (!p) {
  31.         p = 1;
  32.         for (int i = 1; i <= n - 1; i++)
  33.             if (v[i].med < v[i + 1].med) {
  34.                 aux = v[i]; v[i] = v[i + 1]; v[i + 1] = aux; p = 0;
  35.             }
  36.     }
  37.     for (int i = 1; i <= n; i++)
  38.         g << v[i].med << ' ' << v[i].nume << ' ' << v[i].pren << endl;
  39.  
  40.     p = 0;
  41.     while (!p) {
  42.         p = 1;
  43.         for (int i = 1; i <= n - 1; i++)
  44.             if (strcmp(v[i].nume, v[i + 1].nume) > 0) {
  45.                 aux = v[i]; v[i] = v[i + 1]; v[i + 1] = aux; p = 0;
  46.             }
  47.             else
  48.                 if (!strcmp(v[i].nume, v[i + 1].pren)) {
  49.                     if (strcmp(v[i].pren, v[i + 1].pren) > 0) {
  50.                         aux = v[i]; v[i] = v[i + 1]; v[i + 1] = aux; p = 0;
  51.                     }
  52.                 }
  53.     }
  54.  
  55.     for (int i = 1; i <= n; i++)
  56.         g << v[i].med << ' ' << v[i].nume << ' ' << v[i].pren << endl;
  57.  
  58.     f.close();
  59.     g.close();
  60. }
Advertisement
Add Comment
Please, Sign In to add comment