fork download
  1. #include <iostream>
  2. #include <algorithm>
  3.  
  4. using namespace std;
  5.  
  6. void getPancakesEaten(int pancakes[10]);
  7. void displayOrder(int pancakes[10]);
  8.  
  9. /**********************************************************************
  10. * Gets the amount of Pancakes eaten
  11. ***********************************************************************/
  12. void getPancakesEaten(int pancakes[10])
  13. {
  14. for(int i = 0; i < 10; i++)
  15. {
  16. //cout << "Person " << i + 1 << ": ate ";
  17. cin >> pancakes[i];
  18. }
  19.  
  20. cout << endl;
  21. }
  22.  
  23. /**********************************************************************
  24. * Displays the order in which person ate the most pancakes to the least
  25. ***********************************************************************/
  26. void displayOrder(int pancakes[10])
  27. {
  28. int order[10];
  29. for (int i = 0; i < 10; ++i)
  30. order[i] = i;
  31.  
  32. sort(order, order+10, [&pancakes](int a, int b){ return pancakes[a] > pancakes[b]; });
  33.  
  34. for(int i = 0; i < 10; ++i)
  35. cout << "Person " << order[i] + 1 << ": ate " << pancakes[order[i]] << " pancake(s)" << endl;
  36. }
  37.  
  38. /**********************************************************************
  39. * Runs the Entire Program
  40. ***********************************************************************/
  41. int main()
  42. {
  43. int pancakes[10];
  44. getPancakesEaten(pancakes);
  45. displayOrder(pancakes);
  46. return 0;
  47. }
Success #stdin #stdout 0s 4400KB
stdin
12
22
3
4
5
6
7
8
9
10
stdout
Person 2: ate 22 pancake(s)
Person 1: ate 12 pancake(s)
Person 10: ate 10 pancake(s)
Person 9: ate 9 pancake(s)
Person 8: ate 8 pancake(s)
Person 7: ate 7 pancake(s)
Person 6: ate 6 pancake(s)
Person 5: ate 5 pancake(s)
Person 4: ate 4 pancake(s)
Person 3: ate 3 pancake(s)