Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- //вашиот код овде
- void string_copy(char* dest, const char* source, const int length) {
- strncpy(dest, source, length);
- dest[length] = 0;
- }
- class F1Trka {
- char ime_trka[30];
- char* ime_vozac;
- float vreme_zavrsuvanje;
- float rekordno_vreme;
- public:
- F1Trka(const char* _ime_trka = "", const char* _ime_vozac = "", const float _vreme_zavrsuvanje = 0, const float _rekordno_vreme = 0) {
- string_copy(ime_trka, _ime_trka, 29);
- ime_vozac = new char[strlen(_ime_vozac)+1];
- string_copy(ime_vozac, _ime_vozac, strlen(_ime_vozac));
- vreme_zavrsuvanje = _vreme_zavrsuvanje;
- rekordno_vreme = _rekordno_vreme;
- }
- F1Trka(const F1Trka& obj) {
- string_copy(ime_trka, obj.ime_trka, 29);
- ime_vozac = new char[strlen(obj.ime_vozac)+1];
- string_copy(ime_vozac, obj.ime_vozac, strlen(obj.ime_vozac));
- vreme_zavrsuvanje = obj.vreme_zavrsuvanje;
- rekordno_vreme = obj.rekordno_vreme;
- }
- F1Trka& operator=(const F1Trka& obj) {
- if(this != &obj) {
- string_copy(ime_trka, obj.ime_trka, 29);
- delete [] ime_vozac;
- ime_vozac = new char[strlen(obj.ime_vozac)+1];
- string_copy(ime_vozac, obj.ime_vozac, strlen(obj.ime_vozac));
- vreme_zavrsuvanje = obj.vreme_zavrsuvanje;
- rekordno_vreme = obj.rekordno_vreme;
- }
- return *this;
- }
- ~F1Trka() {
- delete [] ime_vozac;
- }
- float getVremeZavrsuvanje() { return vreme_zavrsuvanje; }
- float getRekordnoVreme() { return rekordno_vreme; }
- void pecati() {
- cout << ime_trka << ", " << ime_vozac << " " <<vreme_zavrsuvanje << endl;
- }
- };
- class F1Shampionat {
- int godina;
- F1Trka* niza;
- int broj_trki;
- public:
- F1Shampionat(const int _godina = 0) {
- godina = _godina;
- niza = NULL;
- broj_trki = 0;
- }
- F1Shampionat(const F1Shampionat& obj) {
- godina = obj.godina;
- broj_trki = obj.broj_trki;
- niza = new F1Trka[broj_trki];
- for(int i = 0; i < broj_trki; ++i) {
- niza[i] = obj.niza[i];
- }
- }
- F1Shampionat& operator=(const F1Shampionat& obj) {
- if(this != &obj) {
- godina = obj.godina;
- broj_trki = obj.broj_trki;
- if(broj_trki > 0) delete [] niza;
- niza = new F1Trka[broj_trki];
- for(int i = 0; i < broj_trki; ++i) {
- niza[i] = obj.niza[i];
- }
- }
- return *this;
- }
- ~F1Shampionat() {
- delete [] niza;
- }
- void dodadiTrka(F1Trka t) {
- F1Trka* temp = new F1Trka[broj_trki+1];
- for(int i = 0; i < broj_trki; ++i) {
- temp[i] = niza[i];
- }
- delete [] niza;
- niza = temp;
- niza[broj_trki++] = t;
- }
- void noviRekordi() {
- for(int i = 0; i < broj_trki; ++i) {
- if(niza[i].getVremeZavrsuvanje() < niza[i].getRekordnoVreme()) niza[i].pecati();
- }
- }
- };
- int main(){
- F1Shampionat f1(2015);
- int n;
- float vr, re;
- char ime[30];
- char pobednik[40];
- cin >> n;
- for(int i = 0; i < n; i++){
- cin >> ime;
- cin >> pobednik;
- cin >> vr;
- cin >> re;
- F1Trka t(ime, pobednik, vr, re);
- f1.dodadiTrka(t);
- }
- f1.noviRekordi();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement