fork download
  1. // string::substr
  2. #include <iostream>
  3. #include <string>
  4.  
  5. int main ()
  6. {
  7. std::string stringToCheck = "UP";
  8. std::string stringArray[] = { "UP", "DOWN", "DOWN", "UP" };
  9.  
  10. std::string concatstring;
  11.  
  12. auto replaceAll = [](std::string& s, std::string o, std::string n){ while(s.find(o) != std::string::npos) s.replace(s.find(o), o.size(), n); };
  13.  
  14. std::cout << "stringToCheck before replacement: \n";
  15. std::cout << stringToCheck << " \n";
  16. replaceAll(stringToCheck, "UP", "1"); // Changes stringToCheck to "1"
  17. replaceAll(stringToCheck, "DOWN", "0"); // Changes stringToCheck to "0"
  18. std::cout << "stringToCheck after replacement: \n";
  19. std::cout << stringToCheck;
  20.  
  21. std::cout << "\n----\n";
  22. int length = sizeof(stringArray) / sizeof(stringArray[0]);
  23. concatstring = ""; // Reset concat for each loop iteration
  24. std::cout << "Array String items before replacement and iterations indices: \n";
  25. for(int i = 0; i < length; i++)
  26. {
  27. std::cout << stringArray[i] << " " << i << " \n";
  28. concatstring += stringArray[i];
  29. }
  30.  
  31. std::cout << "----\n";
  32. std::cout << "Concatenated String: \n";
  33. std::cout << concatstring;
  34. replaceAll(concatstring, "UP", "1"); // Changes concatstring "UP" substrings to "1"
  35. replaceAll(concatstring, "DOWN", "0"); // Changes concatstring "DOWN" substrings to "0"
  36. std::cout << "\n----\n";
  37. std::cout << "Concatenated String replaced: \n";
  38. std::cout << concatstring;
  39.  
  40. std::cout << "\n---\n";
  41. std::cout << "Array String items after replacement and iterations indices: \n";
  42. for(int i = 0; i < length; i++)
  43. {
  44. replaceAll(stringArray[i], "UP", "1"); // Changes stringArray[i] "UP" items to "1"
  45. replaceAll(stringArray[i], "DOWN", "0"); // Changes stringArray[i] "DOWN" items to "0"
  46. std::cout << stringArray[i] << " " << i << " \n";
  47. }
  48.  
  49. return 0;
  50. }
Success #stdin #stdout 0.01s 5280KB
stdin
Standard input is empty
stdout
stringToCheck before replacement: 
UP 
stringToCheck after replacement: 
1
----
Array String items before replacement and iterations indices: 
UP 0 
DOWN 1 
DOWN 2 
UP 3 
----
Concatenated String: 
UPDOWNDOWNUP
----
Concatenated String replaced: 
1001
---
Array String items after replacement and iterations indices: 
1 0 
0 1 
0 2 
1 3