Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class TV {
- private:
- char ime[100];
- bool vid;
- int kategorija;
- float rating;
- public:
- TV tv(const TV &rhs){
- strcpy(this->ime, rhs.ime);
- this->vid = rhs.vid;
- this->kategorija = rhs.kategorija;
- this->rating = rhs.rating;
- return *this;
- }
- TV &operator=(const TV &rhs){
- strcpy(this->ime, rhs.ime);
- this->vid = rhs.vid;
- this->kategorija = rhs.kategorija;
- this->rating = rhs.rating;
- return *this;
- }
- TV (const char *ime="", bool vid=false, int kategorija=0, float rating=0.0){
- strcpy(this->ime, ime);
- this->vid = vid;
- this->kategorija = kategorija;
- this->rating = rating;
- }
- ~TV(){}
- friend ostream &operator<<(ostream &o, const TV &rhs){
- o << rhs.ime << endl;
- if(rhs.vid==1)
- o << "D" << endl;
- else o << "A" << endl;
- o << rhs.kategorija << endl;
- o << rhs.rating << endl;
- return o;
- }
- bool operator==(const TV &rhs){
- if(strcmp(this->ime, rhs.ime)==0&&this->kategorija == rhs.kategorija)
- return true; return false;
- }
- TV &operator++(){
- this->rating+=0.5;
- return *this;
- }
- float getRating(){
- return this->rating;
- }
- float setRating(){
- return this->rating+=0.5;
- }
- };
- class KabelskiOperator {
- private:
- char ime[100];
- TV *t;
- int brElem;
- public:
- KabelskiOperator(const char *ime=""){
- strcpy(this->ime, ime);
- this->brElem = 0;
- this->t = NULL;
- }
- KabelskiOperator &operator+=(TV &rhs){
- if(rhs.getRating()>5){
- TV *temp = new TV[brElem+1];
- for(int i=0; i<brElem; i++)
- temp[i]=t[i];
- temp[brElem]=rhs;
- delete [] t;
- t = temp;
- brElem++;
- }
- return *this;
- }
- friend ostream &operator << (ostream &o, const KabelskiOperator &rhs){
- o << rhs.ime << endl;
- for(int i=0; i<rhs.brElem; i++)
- o << rhs.t[i] << endl;
- return o;
- }
- void zgolemi(TV& tv){
- for(int i=0; i<brElem; i++)
- if(tv==t[i])
- this->t[i].setRating();
- }
- };
- int main() {
- int n, x;
- cin >> n >> x;
- char name[100];
- cin >> name;
- KabelskiOperator ko(name);
- TV t;
- for(int i = 0; i < n; ++i) {
- char name[100];
- bool digital;
- int category;
- float rating;
- cin >> name >> digital >> category >> rating;
- TV tv(name, digital, category, rating);
- ko += tv;
- if(i == x) {
- t = tv;
- }
- }
- cout << ko;
- cout << "=== ZGOLEMI ===" << endl;
- cout << t;
- ko.zgolemi(t);
- cout << ko;
- return 0;
- }
- // vashiot kod ovde
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement