fork download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. #define LOWER_CASE_DIFF 'a'-'A'
  5.  
  6. using namespace std;
  7.  
  8. void changeSeq(string &in, int amount) {
  9. int i = 0;
  10. while (i < amount && (int)in[i] < 'a') {
  11. in[i] += LOWER_CASE_DIFF;
  12. i++;
  13. }
  14. if (i < amount) {
  15. in[i] -= LOWER_CASE_DIFF;
  16. }
  17. cout << in << endl;
  18. }
  19. int main() {
  20. string input = "abc";
  21. int diff = 'a' - 'A'; //a is always bigger than A in ASCII
  22. int comb = (int)pow(2,(float)input.length());
  23. for (int i = 1; i <= comb; i++) {
  24. changeSeq(input, i);
  25. }
  26.  
  27.  
  28. return 0;
  29. }
Success #stdin #stdout 0s 3428KB
stdin
Standard input is empty
stdout
Abc
aBc
ABc
abC
AbC
aBC
ABC
abc