Chuẩn hóa xâu ký tự

163
Lập trình C++

Bài toán. Cho xâu ký tự s, thực hiện chuẩn hóa xâu s bằng cách xóa tất cả các dấu cách thửa, chỉ giữ lại một dấu cách. Ví dụ:

CHUANA.INP

CHUANA.OUT

    Do    Trung    Thanh

Do Trung Thanh

Code tham khảo:

#include <iostream>
#include <cstring>
using namespace std;
string s;
void chuanXau() {
    while(s.find("  ") >= 0) {
        int p = s.find("  ");
        if(p >= 0)
            s.erase(p,1);
        else break;
    }
    if(s[0] == ' ')
        s.erase(0,1);
    if(s[s.length()] == '  ')
        s.erase(s.length(),1);
}
int main() {
    freopen("CHUANA.INP","r",stdin);
    freopen("CHUANA.OUT","w",stdout);
    getline(cin, s);
    chuanXau();
    cout << s;
    return 0;
}