fork download
  1. #include <stdio.h>
  2.  
  3. void REORDER3(unsigned &b1, unsigned &b2, unsigned &b3, unsigned a1, unsigned a2, unsigned a3)
  4. {
  5. b1 = a1;
  6. b2 = a2;
  7. b3 = a3;
  8. }
  9.  
  10. void uintprint3(unsigned *a)
  11. {
  12. printf("%u %u %u\n", a[0], a[1], a[2]);
  13. }
  14.  
  15.  
  16. void sort3( unsigned int a[3] )
  17. {
  18. if (a[0] > a[1])
  19. {
  20. if (a[1] > a[2])
  21. {
  22. REORDER3 (
  23. a[0], a[1], a[2],
  24. a[2], a[1], a[0]);
  25. return;
  26. }
  27. else
  28. {
  29. if (a[0] > a[2])
  30. {
  31. REORDER3 (
  32. a[0], a[1], a[2],
  33. a[1], a[2], a[0]);
  34. return;
  35. }
  36. else
  37. {
  38. REORDER3 (
  39. a[0], a[1], a[2],
  40. a[1], a[0], a[2]);
  41. return;
  42. }
  43. }
  44. }
  45. else
  46. {
  47. if (a[1] <= a[2])
  48. {
  49. return; //NO REORDER
  50. }
  51. else
  52. {
  53. if (a[0] <= a[2])
  54. {
  55. REORDER3 (
  56. a[0], a[1], a[2],
  57. a[0], a[2], a[1] );
  58. return;
  59. }
  60. else
  61. {
  62. REORDER3 (
  63. a[0], a[1], a[2],
  64. a[2], a[0], a[1] );
  65. return;
  66. }
  67. }
  68. }
  69. }
  70.  
  71. int main(void)
  72. {
  73. unsigned int a[] = {0, 1, 2};
  74. unsigned int b[] = {0, 2, 1};
  75. unsigned int c[] = {1, 2, 0};
  76. unsigned int d[] = {1, 0, 2};
  77. unsigned int e[] = {2, 0, 1};
  78. unsigned int f[] = {2, 1, 0};
  79. sort3(a); sort3(b); sort3(c); sort3(d); sort3(e); sort3(f);
  80.  
  81. uintprint3(a);
  82. uintprint3(b);
  83. uintprint3(c);
  84. uintprint3(d);
  85. uintprint3(e);
  86. uintprint3(f);
  87. return 0;
  88. }
Success #stdin #stdout 0s 2896KB
stdin
Standard input is empty
stdout
0 1 2
0 1 2
0 1 2
0 1 2
0 1 2
0 1 2