Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<stack>
- #include<algorithm>
- #include<stdio.h>
- #include <string>
- #include<array>
- using namespace std;
- stack <char> mys;
- struct Interval {
- string A;
- int B;
- int C;
- float D;
- int E;
- };
- bool compareInterval(Interval i1, Interval i2)
- {
- char temp;
- temp = mys.top();
- if(temp == 'A'){
- if(i1.A.compare(i2.A) < 0)
- return true;
- else
- return false;
- }
- else if(temp == 'B'){
- return (i1.B < i2.B);
- }
- else if(temp == 'C'){
- return (i1.C < i2.C);
- }
- else if(temp == 'D'){
- return (i1.D < i2.D);
- }
- else if(temp == 'E'){
- return (i1.E < i2.E);
- }
- }
- int main()
- {
- int nn;
- cin >> nn;
- array <Interval,5> arr;
- array <Interval,5> arr2;
- for( int i=0;i<nn;i++){
- cin >> arr[i].A;
- cin >> arr[i].B;
- cin >> arr[i].C;
- cin >> arr[i].D;
- cin >> arr[i].E;
- }
- bool firstTime = false;
- int num;
- char c;
- cin >> num;
- do{
- if(num != 0){
- for(int i=0;i<num;i++){
- cin >>c;
- mys.push(c);
- }
- arr2 = arr;
- while(!mys.empty())
- {
- stable_sort(arr2.begin(), arr2.end(), compareInterval);
- mys.pop();
- }
- if(firstTime == true)
- cout << "\n\n";
- firstTime = true;
- for (int i = 0; i < 5; i++)
- {if
- (i==0)
- cout << arr2[i].A;
- else
- cout << endl << arr2[i].A;
- }
- }
- cin >> num;
- }while(!num == 0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement