Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <cstring>
- #include <algorithm>
- #include <set>
- using namespace std;
- int n, i ,a ,b ,c ,f ,t ,y;
- long long x;
- char str[20];
- class Student
- {
- public:
- const string& getName() const { return name; }
- const string& getSname() const { return sname; }
- const string& getDate() const { return date; }
- long long getMn() const { return mn; }
- char getMl() const { return ml; }
- void setName(const string& str) { name = str; }
- void setSname(const string& str) { sname = str; }
- void setDate(const string& str) { date = str; }
- void setMn(long long value) { mn = value; }
- void setMl(char value) { ml = value; }
- private:
- string name,sname,date;
- long long mn = 0;
- char ml;
- };
- bool cmp(const Student& x, const Student& y)
- {
- int i=0;
- if (x.getMn() != y.getMn()) return x.getMn() < y.getMn();
- if (x.getMl() != y.getMl()) return x.getMl() < y.getMl();
- while(x.getSname()==y.getSname())
- i++;
- return(x.getSname()<y.getSname());
- }
- istream& operator>> (istream& src, Student& dest)
- {
- string s_name,s_sname,s_date;
- long long s_mn = 0;
- char s_ml=0;
- src >> s_name>> s_sname >> s_date>>s_mn>>s_ml;
- dest.setName(s_name);
- dest.setSname(s_sname);
- dest.setDate(s_date);
- dest.setMn(s_mn);
- dest.setMl(s_ml);
- return src;
- }
- ostream& operator<< (ostream& dest, const Student& src)
- {
- dest << src.getName() << src.getSname() << src.getDate()<<src.getMn()<<src.getMl();
- return dest;
- }
- Student create()
- {
- Student res;
- cin >> res;
- return res;
- }
- int main()
- {
- cin>>n;
- set<Student,cmp> myset;
- for(i=0;i<=n-1;i++)
- {
- cin>>str;
- myset.insert(create());
- int j=0;
- a=0;
- while(str[j]>='0' && str[j]<='9')
- {
- a++;
- j++;
- }
- x=0;
- for(int j=0;j<=a-1;j++)
- x=x*10+int(str[j])-int('0');
- myset.getMn()=x;
- myset.getMl()=str[a];
- }
- for (const auto& each : myset)
- {
- cout << each << endl;
- }
- return 0 ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement