Advertisement
MariusPure

atrinkti vienodud=s

Nov 17th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <algorithm>
  4. #include <vector>
  5. using namespace std;
  6.  
  7. struct manksta
  8. {
  9.     string p;
  10.     int kiek;
  11. };
  12.  
  13. manksta A[100], B[100];
  14.  
  15. void reading(int& n, manksta A[]);
  16. void atrinkti(int n, manksta A[], manksta B[]);
  17.  
  18. int main()
  19. {
  20.     int n = 0;
  21.     reading(n, A);
  22.     atrinkti(n, A, B);
  23. }
  24.  
  25. void reading(int& n, manksta A[])
  26. {
  27.     ifstream d("duom.txt");
  28.  
  29.     d >> n;
  30.     d.ignore();
  31.     char t[21];
  32.  
  33.     for (int i = 0; i < n; i++)
  34.     {
  35.         d.get(t,21);
  36.         A[i].p = t;
  37.         d >> A[i].kiek;
  38.         d.ignore();
  39.     }
  40.  
  41.     d.close();
  42. }
  43. void atrinkti(int n, manksta A[], manksta B[])
  44. {
  45.     bool exits;
  46.     int m = 0;
  47.     for (int i = 0; i < n; i++)
  48.     {
  49.         exits = false;
  50.         for (int j = 0; j < m; j++)
  51.         {
  52.             if (A[i].p == B[j].p)
  53.             {
  54.                 exits = true;
  55.                 B[j].kiek += A[i].kiek;
  56.             }
  57.         }
  58.         if (!exits)
  59.         {
  60.             B[m].kiek = A[i].kiek;
  61.             B[m].p = A[i].p;
  62.             m++;
  63.         }
  64.  
  65.     }
  66.     for (int i = 0; i < m; i++)
  67.     {
  68.         if (B[i].kiek==1)
  69.         {
  70.             for (int j = i; j < m; j++)
  71.             {
  72.                 B[j] = B[j+1];
  73.             }
  74.             m--;
  75.         }
  76.     }
  77.     for (int z = 0; z < m; z++)
  78.     {
  79.         cout << B[z].p << " " << B[z].kiek << endl;
  80.     }
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement