ivanakarpuzova

Untitled

Jun 13th, 2017
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Ucesnik
  6. {
  7. private:
  8. char *ime;
  9. bool pol;
  10. int vozrast;
  11. public:
  12. Ucesnik ( char *Ime, bool Pol, int Vozrast)
  13. {
  14. ime=new char[strlen(Ime)+1];
  15. strcpy(ime,Ime);
  16. pol=Pol;
  17. vozrast=Vozrastl
  18. }
  19.  
  20. Ucesnik (const Ucesnik &u)
  21. {
  22. ime=new char[strlen(u.ime)+1];
  23. strcpy(ime,u.ime);
  24. pol=u.pol;
  25. vozrast=u.vozrast;
  26. }
  27.  
  28. int getVozrast(){
  29. return vozrast;
  30. }
  31.  
  32. ~Ucesnik()
  33. {
  34. delete []ime;
  35. }
  36.  
  37. Ucesnik(){}
  38.  
  39. friend bool operator >(const Ucesnik &u1, const Ucesnik &u2)
  40. {
  41. if(u1.vozrast>u2.vozrast)
  42. return true;
  43. else return false;
  44. }
  45.  
  46. friend ostream& operator<< (ostream &out, const Ucesnik &u)
  47. {
  48. out<<ime<<endl;
  49. out<<pol<<endl;
  50. out<<vozrast<<endl;
  51.  
  52. return out;
  53. }
  54. };
  55.  
  56. class Maraton
  57. {
  58. private:
  59. char lokacija[100];
  60. Ucesnik *ucesnici;
  61. int broj;
  62. public:
  63. Maraton (char *Lokacija)
  64. {
  65. strcpy(lokacija,Lokacija);
  66. broj=0;
  67. ucesnici= new Ucesnik[broj];
  68. }
  69.  
  70. Maraton (const Maraton &m)
  71. {
  72. strcpy(lokacija,m.lokacija);
  73. broj=m.broj;
  74. ucesnici= new Ucesnik[broj];
  75.  
  76. for(int i=0;i<broj;i++)
  77. {
  78. ucesnici[i]=u.ucesnici[i];
  79. }
  80. }
  81.  
  82. Maraton& operator=(const Maraton &m)
  83. {
  84. strcpy(lokacija,m.lokacija);
  85. broj=m.broj;
  86. ucesnici= new Ucesnik[broj];
  87.  
  88. for(int i=0;i<broj;i++)
  89. {
  90. ucesnici[i]=u.ucesnici[i];
  91. }
  92. return *this;
  93. }
  94. Maraton(){}
  95. ~Maraton(){
  96. delete[]ucesnici;
  97. }
  98.  
  99. Maraton& operator+=(const Ucesnik &u)
  100. { Ucesnik *tmp = ucesnici;
  101. ucesnici = new Ucesnik[broj + 1];
  102. for (int i = 0; i < =broj; ++i) {
  103. ucesnici[i] = tmp[i];
  104. }
  105. ucesnici[broj] = u;
  106. ++broj;
  107. delete [] tmp;
  108. return *this;
  109. }
  110.  
  111. float prosecnoVozrast()
  112. {
  113. float prosecno=0;
  114. float zbir=0;
  115. for(int i=0;i<broj;i++){
  116.  
  117. zbir+=ucesnici[i].getVozrast()
  118. }
  119.  
  120. prosecno=zbir/broj;
  121. return prosecno;
  122. }
  123.  
  124. void pecatiPomldi(Ucesnik &u){
  125. for(int i=0;i<broj;i++)
  126. {
  127. if(ucesnici[i].getVozrast()<)u.getVozrast)
  128.  
  129. }
  130. }
  131.  
  132.  
  133.  
  134.  
  135. };
  136.  
  137. int main() {
  138. char ime[100];
  139. bool maski;
  140. int vozrast, n;
  141. cin >> n;
  142. char lokacija[100];
  143. cin >> lokacija;
  144. Maraton m(lokacija);
  145. Ucesnik **u = new Ucesnik*[n];
  146. for(int i = 0; i < n; ++i) {
  147. cin >> ime >> maski >> vozrast;
  148. u[i] = new Ucesnik(ime, maski, vozrast);
  149. m += *u[i];
  150. }
  151. m.pecatiPomladi(*u[n - 1]);
  152. cout << m.prosecnoVozrast() << endl;
  153. for(int i = 0; i < n; ++i) {
  154. delete u[i];
  155. }
  156. delete [] u;
  157. return 0;
  158. }
Advertisement
Add Comment
Please, Sign In to add comment