Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Ucesnik
- {
- private:
- char *ime;
- bool pol;
- int vozrast;
- public:
- Ucesnik ( char *Ime, bool Pol, int Vozrast)
- {
- ime=new char[strlen(Ime)+1];
- strcpy(ime,Ime);
- pol=Pol;
- vozrast=Vozrastl
- }
- Ucesnik (const Ucesnik &u)
- {
- ime=new char[strlen(u.ime)+1];
- strcpy(ime,u.ime);
- pol=u.pol;
- vozrast=u.vozrast;
- }
- int getVozrast(){
- return vozrast;
- }
- ~Ucesnik()
- {
- delete []ime;
- }
- Ucesnik(){}
- friend bool operator >(const Ucesnik &u1, const Ucesnik &u2)
- {
- if(u1.vozrast>u2.vozrast)
- return true;
- else return false;
- }
- friend ostream& operator<< (ostream &out, const Ucesnik &u)
- {
- out<<ime<<endl;
- out<<pol<<endl;
- out<<vozrast<<endl;
- return out;
- }
- };
- class Maraton
- {
- private:
- char lokacija[100];
- Ucesnik *ucesnici;
- int broj;
- public:
- Maraton (char *Lokacija)
- {
- strcpy(lokacija,Lokacija);
- broj=0;
- ucesnici= new Ucesnik[broj];
- }
- Maraton (const Maraton &m)
- {
- strcpy(lokacija,m.lokacija);
- broj=m.broj;
- ucesnici= new Ucesnik[broj];
- for(int i=0;i<broj;i++)
- {
- ucesnici[i]=u.ucesnici[i];
- }
- }
- Maraton& operator=(const Maraton &m)
- {
- strcpy(lokacija,m.lokacija);
- broj=m.broj;
- ucesnici= new Ucesnik[broj];
- for(int i=0;i<broj;i++)
- {
- ucesnici[i]=u.ucesnici[i];
- }
- return *this;
- }
- Maraton(){}
- ~Maraton(){
- delete[]ucesnici;
- }
- Maraton& operator+=(const Ucesnik &u)
- { Ucesnik *tmp = ucesnici;
- ucesnici = new Ucesnik[broj + 1];
- for (int i = 0; i < =broj; ++i) {
- ucesnici[i] = tmp[i];
- }
- ucesnici[broj] = u;
- ++broj;
- delete [] tmp;
- return *this;
- }
- float prosecnoVozrast()
- {
- float prosecno=0;
- float zbir=0;
- for(int i=0;i<broj;i++){
- zbir+=ucesnici[i].getVozrast()
- }
- prosecno=zbir/broj;
- return prosecno;
- }
- void pecatiPomldi(Ucesnik &u){
- for(int i=0;i<broj;i++)
- {
- if(ucesnici[i].getVozrast()<)u.getVozrast)
- }
- }
- };
- int main() {
- char ime[100];
- bool maski;
- int vozrast, n;
- cin >> n;
- char lokacija[100];
- cin >> lokacija;
- Maraton m(lokacija);
- Ucesnik **u = new Ucesnik*[n];
- for(int i = 0; i < n; ++i) {
- cin >> ime >> maski >> vozrast;
- u[i] = new Ucesnik(ime, maski, vozrast);
- m += *u[i];
- }
- m.pecatiPomladi(*u[n - 1]);
- cout << m.prosecnoVozrast() << endl;
- for(int i = 0; i < n; ++i) {
- delete u[i];
- }
- delete [] u;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment