Advertisement
xTheEc0

Bandomasis III (Salama 2015m)

Jan 20th, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.12 KB | None | 0 0
  1. /*
  2. 4
  3. Petras     3
  4. 5 13 8
  5. 4 0 5
  6. 16 1 0
  7. Algis      1
  8. 9 6 13
  9. Jurgis     4
  10. 4 14 2
  11. 4 4 15
  12. 16 15 251
  13. 1 2 3
  14. Rita       2
  15. 6 65 4
  16. 4 4 13
  17. */
  18. #include <iostream>
  19. #include <iomanip>
  20. #include <cmath>
  21. #include <fstream>
  22. using namespace std;
  23.  
  24. const char duomF[] = "U2.txt";
  25. const char rezF[] = "U2rez.txt";
  26. const int CMax = 101;
  27. const int CPav = 10;
  28. ofstream rf(rezF);
  29.  
  30. struct zvejai
  31. {
  32.     string vardas;
  33.     int karosai;
  34.     int karpiai;
  35.     int kuojos;
  36.     int suma;
  37. };
  38.  
  39. void skaitymas(zvejai A[], int &n)
  40. {
  41.     ifstream df(duomF);
  42.     char eil[CPav+1];
  43.     int karosai, karpiai, kuojos;
  44.     int d; // Kiek kartu zvejojo
  45.     df >> n;
  46.     for (int i = 0; i < n; i++)
  47.     {
  48.         df.ignore(80, '\n');
  49.         df.get(eil, CPav);
  50.         A[i].vardas = eil;
  51.         df >> d;
  52.         for (int j = 0; j < d; j++)
  53.         {
  54.             df.ignore(80, '\n');
  55.             df >> karosai >> karpiai >> kuojos;
  56.             A[i].karosai += karosai;
  57.             A[i].karpiai += karpiai;
  58.             A[i].kuojos += kuojos;
  59.         }
  60.     }
  61.     df.close();
  62. }
  63.  
  64. void sprendimas (zvejai A[], int n)
  65. {
  66.     for (int i = 0; i < n; i++)
  67.     {
  68.         rf << A[i].vardas << setw(2) << right <<  A[i].karosai << setw(5) << right << A[i].karpiai << setw(5) << right << A[i].kuojos << endl;
  69.     }
  70.  
  71. }
  72.  
  73. void geriausias (zvejai A[], int n)
  74. {
  75.     int max = 0;
  76.     int kuris;
  77.     for (int i = 0; i < n; i++)
  78.     {
  79.         A[i].suma += A[i].karosai;
  80.         A[i].suma += A[i].karpiai;
  81.         A[i].suma += A[i].kuojos;
  82.     }
  83.  
  84.     for (int i = 0; i < n; i++)
  85.     {
  86.         if (A[i].suma > max)
  87.         {
  88.             max = A[i].suma;
  89.             kuris = i;
  90.         }
  91.     }
  92.  
  93.     rf << A[kuris].vardas << setw(2) << right << A[kuris].suma << endl;
  94. }
  95.  
  96. void reset(zvejai A[])
  97. {
  98.     for (int i = 0; i < CMax; i++) // Nunulinami masyvai.
  99.     {
  100.         A[i].karosai = 0;
  101.         A[i].karpiai = 0;
  102.         A[i].kuojos = 0;
  103.         A[i].suma = 0;
  104.     }
  105. }
  106. int main()
  107. {
  108.     zvejai A[CMax];
  109.     int n;
  110.  
  111.     reset(A);
  112.     skaitymas(A, n);
  113.     sprendimas(A, n);
  114.     geriausias (A, n);
  115.  
  116.     rf.close();
  117.     return 0;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement