Advertisement
barbos01

pb aurelia

Jan 29th, 2023
777
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.52 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstring>
  4.  
  5. using namespace std;
  6. ifstream f("fete.in");
  7. ifstream b("baieti.in");
  8. ofstream g("perechi.out");
  9. struct persoana
  10. {
  11.     char prenume[20];
  12.     int experienta, varsta;
  13. } fete[101],baieti[101];
  14.  
  15. void citire ( persoana fete[101], persoana baieti[101], int &n, int &m)
  16. {
  17.     f>>n;
  18.     int i=1;
  19.     while(i<=n)
  20.     {
  21.         f>>fete[i].prenume>>fete[i].varsta>>fete[i].experienta;
  22.         i++;
  23.     }
  24.     b>>m;
  25.     i=1;
  26.     while(i<=m)
  27.     {
  28.         b>>baieti[i].prenume>>baieti[i].varsta>>baieti[i].experienta;
  29.         i++;
  30.     }
  31. }
  32. void ordonare (persoana fete[101], persoana baieti[101], int n, int m)
  33. {
  34.     int i,j, aux, ok;
  35.     char prenume[20];
  36.     do
  37.     {
  38.         ok = 1;
  39.         for(i=1; i<n; i++)
  40.             if(fete[i].experienta>fete[i+1].experienta )
  41.             {
  42.                 aux=fete[i].experienta;
  43.                 fete[i].experienta=fete[i+1].experienta;
  44.                 fete[i+1].experienta=aux;
  45.  
  46.                 aux=fete[i].varsta;
  47.                 fete[i].varsta=fete[i+1].varsta;
  48.                 fete[i+1].varsta=aux;
  49.  
  50.                 strcpy(prenume,fete[i].prenume );
  51.                 strcpy( fete[i].prenume,fete[i+1].prenume );
  52.                 strcpy(fete[i+1].prenume, prenume);
  53.                 ok = 0;
  54.  
  55.             }
  56.     }
  57.     while(ok==0);
  58.  
  59.     do
  60.     {
  61.         ok = 1;
  62.         for(i=1; i<m; i++)
  63.             if(baieti[i].experienta>baieti[i+1].experienta )
  64.             {
  65.                 aux=baieti[i].experienta;
  66.                 baieti[i].experienta=baieti[i+1].experienta;
  67.                 baieti[i+1].experienta=aux;
  68.  
  69.                 aux=baieti[i].varsta;
  70.                 baieti[i].varsta=baieti[i+1].varsta;
  71.                 baieti[i+1].varsta=aux;
  72.  
  73.                 strcpy(prenume,baieti[i].prenume );
  74.                 strcpy( baieti[i].prenume,baieti[i+1].prenume );
  75.                 strcpy(baieti[i+1].prenume, prenume);
  76.                 ok = 0;
  77.  
  78.             }
  79.     }
  80.     while(ok==0);
  81.  
  82. }
  83. void afisare_perechi (persoana fete[101], persoana baieti[101], int n, int m)
  84. {
  85.     int i;
  86.     for(i=1; i<=n; i++)
  87.         for(int j=1; j<=m; j++)
  88.             if(fete[i].experienta<baieti[j].experienta && (baieti[j].varsta>=fete[i].varsta && baieti[j].varsta<=fete[i].varsta+5))
  89.             {
  90.  
  91.                 g<<baieti[j].prenume<<" "<<fete[i].prenume<<endl;
  92.             }
  93.  
  94. }
  95. int main()
  96. {
  97.     int n,m;
  98.     citire(fete,baieti,n,m);
  99.     ordonare(fete,baieti,n,m);
  100.     afisare_perechi(fete,baieti,n,m);
  101.     return 0;
  102. }
  103.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement