fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. void test(std::vector<int> v)
  5. {
  6. int size = v.size();
  7. bool carry = true;
  8. int i = size - 1;
  9. do
  10. {
  11. if (v.at(i) == 0)
  12. {
  13. v.at(i) = 9;
  14. }
  15. else
  16. {
  17. v.at(i)--;
  18. carry = false;
  19. }
  20. --i;
  21. }
  22. while ( carry == true && i >= 0);
  23.  
  24. for ( auto item : v )
  25. {
  26. std::cout << item << " ";
  27. }
  28. std::cout << std::endl;
  29. }
  30.  
  31. int main()
  32. {
  33. test({1, 1, 1, 1, 9});
  34. test({5, 0, 0, 0, 0});
  35. }
  36.  
Success #stdin #stdout 0s 4548KB
stdin
Standard input is empty
stdout
1 1 1 1 8 
4 9 9 9 9