fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. //non-recursive
  6. void diff(int items[], int count)
  7. {
  8. if (count > 0)
  9. {
  10. do
  11. {
  12. for (int n=0; n<count; n++)
  13. {
  14. cout << items[n] << " ";
  15. items[n]=abs(items[n]-items[n+1]);
  16. }
  17. cout << "\n";
  18. }
  19. while (--count > 0);
  20. }
  21. }
  22.  
  23. //recursive
  24. void diff1(int items[], int count)
  25. {
  26. if (count > 0)
  27. {
  28. for (int n=0; n<count; n++)
  29. {
  30. cout << items[n] << " ";
  31. items[n]=abs(items[n]-items[n+1]);
  32. }
  33.  
  34. cout << "\n";
  35. diff1(items, --count);
  36. }
  37. }
  38.  
  39. int main()
  40. {
  41. int user_input[]={1,5, 13, 16, 17};
  42.  
  43. diff(user_input, 5);
  44.  
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
1 5 13 16 17 
4 8 3 1 
4 5 2 
1 3 
2