Advertisement
MariusPure

Untitled

Dec 1st, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <iomanip>
  5. using namespace std;
  6.  
  7. struct geryb
  8. {
  9. string pav;
  10. string arLt;
  11. double a, b, r;
  12. };
  13. geryb A[100];
  14. geryb B[100];
  15. geryb C[100];
  16.  
  17. void skaitymas(int& n, int& p, geryb A[]);
  18. void salinti(int& k, int kur, geryb C[]);
  19. void skaiciavimas(int& n, int& p, geryb A[], geryb B[], geryb C[], int &k);
  20. void spausdinti(int k, geryb C[]);
  21.  
  22. int main()
  23. {
  24. int n = 0, p = 0, k = 0;
  25. skaitymas(n, p, A);
  26. skaiciavimas(n, p, A, B, C, k);
  27. spausdinti(k, C);
  28. }
  29.  
  30. void salinti(int& k, int kur, geryb C[])
  31. {
  32. for (int i = kur; i < k - 1; i++)
  33. {
  34. C[i].pav = C[i+1].pav;
  35. C[i].arLt = C[i+1].arLt;
  36. C[i].a = C[i+1].a;
  37. C[i].b = C[i+1].b;
  38. C[i].r = C[i+1].r;
  39. }
  40.  
  41. k--;
  42. }
  43.  
  44. void skaitymas(int& n, int& p, geryb A[])
  45. {
  46. ifstream d("duom.txt");
  47. d >> n;
  48. d.ignore();
  49.  
  50. for (int i = 0; i < n; i++)
  51. {
  52. d >> A[i].pav >> A[i].arLt;
  53. if (A[i].arLt == "T") A[i].arLt = "";
  54. d.ignore();
  55. }
  56.  
  57. d >> p;
  58. d.ignore();
  59.  
  60. for (int i = 0; i < p; i++)
  61. {
  62. d >> B[i].pav >> B[i].a >> B[i].b >> B[i].r;
  63. d.ignore();
  64. }
  65.  
  66. d.close();
  67.  
  68. }
  69.  
  70. void skaiciavimas(int& n, int& p, geryb A[], geryb B[], geryb C[], int& k)
  71. {
  72.  
  73. bool yra = false;
  74.  
  75. for (int i = 0; i < p; i++)
  76. {
  77. yra = false;
  78. for (int j = 0; j < n; j++)
  79. {
  80. if (B[i].pav == A[j].pav)
  81. {
  82. yra = true;
  83.  
  84. C[k].pav = A[j].pav;
  85. C[k].arLt = A[j].arLt;
  86. C[k].a = B[i].a;
  87. C[k].b = B[i].b;
  88. C[k].r = B[i].r;
  89. k++;
  90.  
  91. }
  92. }
  93. if(!yra)
  94. {
  95. C[k].pav = B[i].pav;
  96. C[k].arLt = " ?";
  97. C[k].a = B[i].a;
  98. C[k].b = B[i].b;
  99. C[k].r= B[i].r;
  100. k++;
  101. }
  102. }
  103.  
  104. for (int i = 0; i < k; i++)
  105. {
  106. if (C[i].arLt == "N")
  107. {
  108. salinti(k, i, C);
  109. }
  110. }
  111. }
  112. void spausdinti(int k, geryb C[])
  113. {
  114. ofstream rez("duom.out");
  115.  
  116. for (int i = 0; i < k; i++)
  117. {
  118. cout << fixed << setprecision(1) << C[i].pav << C[i].arLt << " " << C[i].a << " " << C[i].b << " " << C[i].r << endl;
  119. }
  120.  
  121. rez.close();
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement