fork download
  1. #include<stdio.h>
  2. #include<algorithm>
  3. #include<set>
  4. #include<math.h>
  5. #include<stdlib.h>
  6. #include<cstdio>
  7. #include<cstring>
  8. #include<cmath>
  9. #include<cstdlib>
  10. #include<cstdio>
  11. #include<ctime>
  12. #include<cctype>
  13. #include<cassert>
  14. #include<climits>
  15. #include<cerrno>
  16. #include<cfloat>
  17. #include<ciso646>
  18. #include<clocale>
  19. #include<csetjmp>
  20. #include<csignal>
  21. #include<cstdarg>
  22. #include<cstddef>
  23. #include<cstdio>
  24. #include<cstdlib>
  25. #include<cstring>
  26. #include<ctime>
  27. #include<cwchar>
  28. #include<cwctype>
  29.  
  30. //containers
  31. #include<vector>
  32. #include<list>
  33. #include<map>
  34. #include<queue>
  35. #include<deque>
  36. #include<set>
  37. #include<complex>
  38. #include<string>
  39. #include<stack>
  40. #include<bitset>
  41. #include<istream>
  42. #include<valarray>
  43.  
  44. //IOs
  45. #include<iostream>
  46. #include<sstream>
  47. #include<iomanip>
  48. #include<fstream>
  49. #include<exception>
  50. #include<ios>
  51. #include<iosfwd>
  52. #include<ostream>
  53. #include<iterator>
  54. #include<stdexcept>
  55. #include<streambuf>
  56.  
  57.  
  58. //algorithm & miscellaneous
  59. #include<algorithm>
  60. #include<functional>
  61. #include<numeric>
  62. #include<utility>
  63. #include<limits>
  64. #include<locale>
  65. #include<memory>
  66. #include<new>
  67.  
  68.  
  69.  
  70. using namespace std;
  71.  
  72. struct test{
  73. int a,b,c;
  74. };
  75.  
  76. bool comp(const test d,const test e)
  77. {
  78. if(d.a==e.a)
  79. return d.b<e.b; //Incresing Order according to second value (if first values are equal)
  80. else
  81. return d.a<e.a; //Increasing Order according to First value (if first values are not equal)
  82. }
  83.  
  84.  
  85. bool comp1(const test d,const test e)
  86. {
  87. if(d.a==e.a)
  88. return d.b>e.b; //Dncresing Order according to second value (if first values are equal)
  89. else
  90. return d.a>e.a; //Dncreasing Order according to First value (if first values are not equal)
  91. }
  92.  
  93.  
  94. int main()
  95. {
  96. struct test arr[20]={0};
  97. int i,m,r,t;
  98. scanf("%d",&t);
  99.  
  100. for(i=0;i<t;i++)
  101. scanf("%d %d",&arr[i].a,&arr[i].b);
  102.  
  103. for(int i=0;i<t;i++)
  104. printf("%d %d\n",arr[i].a,arr[i].b);
  105.  
  106. sort(arr,arr+t,comp);
  107.  
  108. printf("\n\n");
  109.  
  110. for(int i=0;i<t;i++)
  111. printf("%d %d\n",arr[i].a,arr[i].b);
  112.  
  113. sort(arr,arr+t,comp1);
  114.  
  115. printf("\n\n");
  116.  
  117. for(int i=0;i<t;i++)
  118. printf("%d %d\n",arr[i].a,arr[i].b);
  119.  
  120.  
  121.  
  122. return 0;
  123. }
  124.  
  125.  
Success #stdin #stdout 0s 3304KB
stdin
3
1 3
3 2
2 4
stdout
1 3
3 2
2 4


1 3
2 4
3 2


3 2
2 4
1 3