Chuẩn hoá cho các từ chỉ cách nhau một dấu cách, thì không biết e làm vòng for như này có ổn ko mng? Chương trình chạy bị treo ko ra kết quả, có vẻ như do vòng for này ạ.
for (i=0; i<s1.size(); i++){
if(s1[i]==' ' && s1[i-1]==' '){
size-=1;
for (j=i; j=size; j++){
s1[j]=s1[j+1];
}
i--;
}
}
full code, ai xem hộ e phát với, ko biết hỏi ở đâu =))
#include <iostream>
#include <bits/stdc++.h>
#include <string>
using namespace std;
string correct(string s1){
int i=0,j;
unsigned size=s1.size();
if (s1[i] >= 'a' && s1[i] <= 'z')
s1[i] -= 'a' - 'A';
for (i=0; i<s1.size(); i++){
if(s1[i]==' ' && s1[i-1]==' '){
size-=1;
for (j=i; j=size; j++){
s1[j]=s1[j+1];
}
i--;
}
}
return (s1);
}
int main(){
string s1 = "abC Xyz 12a";
cout << correct(s1) << endl;
return 0;
}