MariusPure

wasd

May 30th, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.02 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. int n = 0;
  7.  
  8. struct kalbos{
  9.  
  10.     string p;
  11.  
  12.     int sen = 0;
  13.     int dab = 0;
  14.     double skirtumas = 0;
  15.  
  16.     int did = 0;
  17.     int didX = 0;
  18.     int darDid = 0;
  19.     int darDidX = 0;
  20.     int visodid = 0;
  21.  
  22.     int maz = 0;
  23.     int mazX = 0;
  24.     int darMaz = 0;
  25.     int darMazX = 0;
  26.     int visomaz = 0;
  27. };
  28. kalbos m[100];
  29.  
  30. void skaitymas(int &n, kalbos m[]);
  31. void skaiciavimas(int n, kalbos m[]);
  32. void skaiciavimas2(int n, kalbos m[]);
  33. void spausdinimas(int n, kalbos m[]);
  34.  
  35. int main()
  36. {
  37.     skaitymas(n, m);
  38.     skaiciavimas(n, m);
  39.     skaiciavimas2(n, m);
  40.     spausdinimas(n, m);
  41. }
  42.  
  43. void skaitymas(int &n, kalbos m[])
  44. {
  45.     char x[25];
  46.  
  47.     ifstream d("duom.txt");
  48.  
  49.     d >> n;
  50.     d.ignore();
  51.  
  52.     for(int i = 0; i < n; i++)
  53.     {
  54.         d.get(x,25);
  55.         m[i].p = x;
  56.  
  57.         d >> m[i].dab >> m[i].sen;
  58.         d.ignore();
  59.  
  60.     }
  61.     d.ignore();
  62.     d.close();
  63. }
  64. void skaiciavimas(int n, kalbos m[])
  65. {
  66.     for(int i = 0; i < n; i++)
  67.     {
  68.         m[i].skirtumas = m[i].sen - m[i].dab;
  69.         cout << m[i].skirtumas << endl;
  70.     }
  71. }
  72.  
  73. void skaiciavimas2(int n, kalbos m[])
  74. {
  75.  
  76.     for(int i = 0; i < n; i++)
  77.     {
  78.         if(m[i].skirtumas > m[0].did)
  79.         {
  80.             m[0].did = m[i].skirtumas;
  81.             m[0].didX = i;
  82.         }
  83.     }
  84.  
  85.     for(int i = 0; i < n; i++)
  86.     {
  87.         if(m[i].skirtumas == m[0].did && m[0].didX != i)
  88.         {
  89.             m[0].darDid++;
  90.         }
  91.     }
  92.  
  93.     for(int i = 0; i < n; i++)
  94.     {
  95.         if(m[0].did == m[i].skirtumas && m[0].didX != i)
  96.         {
  97.             for(int j = 0; j < m[0].darDid; j++)
  98.             {
  99.                 m[j].darDidX = i;
  100.             }
  101.         }
  102.     }
  103.     m[0].visodid = m[0].didX;
  104.     if(m[0].darDid > 0)
  105.     {
  106.         for(int i = 0; i < m[0].darDid; i++)
  107.         {
  108.             m[i].visodid = m[i].darDidX;
  109.         }
  110.     }
  111.  
  112.     ///           maziausiu paieska         ///
  113.  
  114.     m[0].maz = m[0].skirtumas;
  115.     for(int i = 0; i < n; i++)
  116.     {
  117.         if(m[i].skirtumas < m[0].maz)
  118.         {
  119.             m[0].maz = m[i].skirtumas;
  120.             m[0].mazX = i;
  121.         }
  122.     }
  123.  
  124.     for(int i = 0; i < n; i++)
  125.     {
  126.         if(m[i].skirtumas == m[0].maz && m[0].mazX != i)
  127.         {
  128.             m[0].darMaz++;
  129.         }
  130.     }
  131.  
  132.     for(int i = 0; i < n; i++)
  133.     {
  134.         if(m[0].maz == m[i].skirtumas && m[0].mazX != i)
  135.         {
  136.             for(int j = 0; j < m[0].darMaz; j++)
  137.             {
  138.                 m[j].darMazX = i;
  139.             }
  140.         }
  141.     }
  142.     m[0].visodid = m[0].mazX;
  143.     if(m[0].darMaz > 0)
  144.     {
  145.         for(int i = 0; i < m[0].darMaz; i++)
  146.         {
  147.             m[i].visomaz = m[i].darMazX;
  148.         }
  149.     }
  150.  
  151. }
  152. void spausdinimas(int n, kalbos m[])
  153. {
  154.     ofstream r("rez.txt");
  155.     cout << m[0].did << endl;
  156.  
  157.     for(int i = 0; i < m[0].darDid+1; i++)
  158.     {
  159.         cout << m[ m[i].visodid ].p << endl;
  160.     }
  161.     cout << m[0].maz << endl;
  162.  
  163.     r.close();
  164. }
Advertisement
Add Comment
Please, Sign In to add comment