Em đang tự luyện tập trong mùa Tết nên đây không phải là hỏi bài tập đâu ạ.
Em muốn hỏi xem thuật toán của mình có gì sai, vì sao chương trình không chạy được ạ?
Đề bài như sau: Cho một chuỗi đã được mã hóa (viết dưới dạng số thập phân), hãy trả về chuỗi ban đầu nếu biết rằng nó chỉ bao gồm các chữ cái thường. Dùng theo bảng mã ASCII
Ví dụ: chuỗi số “10197115121” thì sẽ tương ứng với “easy”.
Đoạn code của em:
string decipher(string cipher) {
int j=0;
size_t i=0;
string res;
while (i<cipher.size()) {
string s;
if (cipher[i]=='9'){
s[0]=cipher[i];
s[1]=cipher[i+1];
i+=2;
stringstream k(s);
int x;
k >> x;
res[j]=(char)(x);
} else if (cipher[i]=='1') {
s[0]=cipher[i];
s[1]=cipher[i+1];
s[2]=cipher[i+2];
i+=3;
stringstream k(s);
int x;
k >> x;
res[j]=(char)(x);
}
j++;
}
return res;
}