Task: | Monistus |
Sender: | snowflake |
Submission time: | 2024-02-12 18:12:56 +0200 |
Language: | C++ (C++11) |
Status: | COMPILE ERROR |
Compiler report
input/code.cpp: In function 'std::string process(const string&)': input/code.cpp:9:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare] 9 | while (i < s.size()) | ~~^~~~~~~~~~ input/code.cpp:14:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare] 14 | if (i + repeatCount >= s.size()) | ~~~~~~~~~~~~~~~~^~~~~~~~~~~ input/code.cpp: In function 'int main()': input/code.cpp:38:5: error: 'ios_base' has not been declared 38 | ios_base::sync_with_stdio(false); | ^~~~~~~~ input/code.cpp:39:5: error: 'cin' was not declared in this scope; did you mean 'std::cin'? 39 | cin.tie(0); | ^~~ | std::cin In file included from input/code.cpp:1: /usr/include/c++/11/iostr...
Code
#include <iostream> #include <string> std::string process(const std::string& s) { std::string result = ""; int i = 0; while (i < s.size()) { if (isdigit(s[i])) { int repeatCount = s[i] - '0'; // Convert digit character to integer int substrStart = i + 1; if (i + repeatCount >= s.size()) { break; // Not enough characters left to duplicate } // Repeat the substring for (int j = 0; j < repeatCount; ++j) { result += s.substr(substrStart, repeatCount); } i += repeatCount + 1; // Skip ahead past the digit and duplicated substring } else { result += s[i]; // Copy letters as is i++; } } return result; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); string soho; cin >> soho; std::string oute = process(soho); cout << oute; return 0; }