Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.10 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. void duomenuSkaitymas(int& batuKiekis, int batai[][3]);
  6. bool arYraMasyve(int masyvas[], int dydis, int ieskomas);
  7. int rastiPoruKieki(int batuKiekis, int lytis, int batai[][3]);
  8. void rezultatuIsvedimas(int moterisku, int vyrisku);
  9.  
  10. int main()
  11. {
  12.     int batuKiekis, batai[100][3]; // batai[kiekis][lytis, koja, dydis]
  13.  
  14.     duomenuSkaitymas(batuKiekis, batai);
  15.     int vyrisku = rastiPoruKieki(batuKiekis, 3, batai);
  16.     int moterisku = rastiPoruKieki(batuKiekis, 4, batai);
  17.  
  18.     rezultatuIsvedimas(moterisku, vyrisku);
  19. }
  20.  
  21. void duomenuSkaitymas(int& batuKiekis, int batai[][3])
  22. {
  23.     // Nuskaito batu poras is duomenu failo ir iveda i masyva.
  24.     ifstream duomenys("U1.txt");
  25.  
  26.     duomenys >> batuKiekis;
  27.     for (int i = 0; i < batuKiekis; i++)
  28.     {
  29.         duomenys >> batai[i][0] >> batai[i][1] >> batai[i][2];
  30.     }
  31. }
  32.  
  33. int rastiPoruKieki(int batuKiekis, int lytis, int batai[][3])
  34. {
  35.     // Suranda ir grazina tam tikros lyties (3 - vyriski; 4 - moteriski) yra poru batu.
  36.     int kiekis = 0, panaudotiIndeksai[100];
  37.  
  38.     for (int i = 0; i < batuKiekis; i++)
  39.     {
  40.         int dydis, koja;
  41.  
  42.         if (batai[i][0] == lytis)
  43.         {
  44.             koja = batai[i][1];
  45.             dydis = batai[i][2];
  46.  
  47.             for (int j = i+1; j < batuKiekis; j++)
  48.             {
  49.                 if (batai[j][0] == lytis && batai[j][1] != koja && batai[j][2] == dydis && !arYraMasyve(panaudotiIndeksai, kiekis, i))
  50.                 {
  51.                     kiekis++;
  52.                     panaudotiIndeksai[kiekis] = j;
  53.                     break;
  54.                 }
  55.             }
  56.         }
  57.     }
  58.     return kiekis;
  59. }
  60.  
  61. bool arYraMasyve(int masyvas[], int dydis, int ieskomas)
  62. {
  63.     // Patikrina ar ieskomas skaicius yra masyve.
  64.     for (int i = 0; i < dydis; i++)
  65.     {
  66.         if (masyvas[i] == ieskomas)
  67.             return true;
  68.     }
  69.     return false;
  70. }
  71.  
  72. void rezultatuIsvedimas(int moterisku, int vyrisku)
  73. {
  74.     // Isveda rezultatus i faila.
  75.     ofstream rezultatai("U1rez.txt");
  76.     rezultatai << moterisku << endl << vyrisku;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement