Advertisement
Guest User

Untitled

a guest
Oct 20th, 2014
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. const char CDfv[] = "Duomenys.txt";
  9. const char CRfv[] = "Rezultatai.txt";
  10.  
  11. class Gatve
  12. {
  13. private:
  14. string pav;
  15. int ilgis;
  16. int kiekis;
  17. public:
  18. void Deti(string pav, int ilgis, int kiekis);
  19. string ImtiPav() {return pav;}
  20. int ImtiIlgi() {return ilgis;}
  21. int ImtiKieki() {return kiekis;}
  22. Gatve(){};
  23. ~Gatve(){};
  24. };
  25. void Gatve::Deti(string pav, int ilgis, int kiekis)
  26. {
  27. Gatve::pav = pav;
  28. Gatve::ilgis = ilgis;
  29. Gatve::kiekis = kiekis;
  30. }
  31.  
  32. void Ivesti(const string fv, Gatve G[], int & n);
  33. void Spausdinti(const string fv, Gatve G[], int n);
  34. int Maxi(Gatve G[], int n);
  35. int Kiek(Gatve G[], int n, int k);
  36. double Vid(Gatve G[], int n);
  37. int main()
  38. {
  39. Gatve G[100];
  40. int n;
  41. Ivesti(CDfv, G, n);
  42. Spausdinti(CRfv, G, n);
  43. return 0;
  44. }
  45. void Ivesti(const string fv, Gatve G[], int & n)
  46. {
  47. string pav;
  48. int ilgis, kiekis;
  49. ifstream fd(fv);
  50. fd >> n;
  51. for (int i = 0; i < n; i++)
  52. {
  53. fd >> pav >> ilgis >> kiekis;
  54. G[i].Deti(pav, ilgis, kiekis);
  55. }
  56. }
  57. void Spausdinti(const string fv, Gatve G[], int n)
  58. {
  59. ofstream fr(fv);
  60. fr << "pradiniai duomenys : " << endl;
  61. fr << n;
  62. for (int i = 0; i < n; i++)
  63. {
  64. fr << G[i].ImtiPav() << " " << G[i].ImtiIlgi() << G[i].ImtiKieki() << endl;
  65. }
  66. fr << "ilgiausia gatve" << G[Maxi(G, n)].ImtiPav() << " " << G[Maxi(G, n)].ImtiPav() << endl;
  67. fr << "gatviu neturi saligatviu: " << Kiek(G, n, 0) << endl;
  68. fr << "vidutinis ilgis : " << setprecision(2) << Vid(G, n);
  69. }
  70. int Maxi(Gatve G[], int n)
  71. {
  72. int max = G[0].ImtiIlgi();
  73. int ind = 0;
  74. for (int i = 1; i < n; i++)
  75. {
  76. if (G[i].ImtiIlgi() > max)
  77. {
  78. max = G[i].ImtiIlgi();
  79. ind = i;
  80.  
  81. }
  82. }
  83. return ind;
  84. }
  85. int Kiek(Gatve G[], int n, int k)
  86. {
  87. int kiek = 0;
  88. for (int i = 0; i < n; i++)
  89. {
  90. if (G[i].ImtiKieki() == k)
  91. kiek++;
  92. }
  93. return kiek;
  94. }
  95. double Vid(Gatve G[], int n)
  96. {
  97. double sum = 0;
  98. for (int i = 0; i < n; i++)
  99. {
  100. sum = sum + G[i].ImtiIlgi();
  101. }
  102. return sum / n;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement