//(с)Terminator
#include <iostream>
#include <string>
using namespace std;
//1-ый способ
void space_unique(string& s){
string::size_type p = 0;
while((p = s.find(' ', p)) != string::npos){
if((p + 1 < s.length()) && (s[p + 1] == ' '))
s.erase(p, 1);
else
++p;
}
}
//2-ой способ
void space_unique(string& d, const string& s){
string::size_type f, l;
for(l = f = 0; (l = s.find(' ', l)) != string::npos; l = f){
d.append(s.begin() + f, s.begin() + (l + 1));
f = s.find_first_not_of(' ', l);
}
if(f < s.length())
d.append(s.begin() + f, s.end());
}
int main(void){
string str = "\1 TASM MASM FASM";
space_unique(str);
cout << str << endl;
//...
string res;
str = " Apple Orange Potate . ops alien fin";
space_unique(res, str);
cout << res;
return 0;
}
Ly8o0YEpVGVybWluYXRvcgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKLy8xLdGL0Lkg0YHQv9C+0YHQvtCxCnZvaWQgc3BhY2VfdW5pcXVlKHN0cmluZyYgcyl7CglzdHJpbmc6OnNpemVfdHlwZSBwID0gMDsKCXdoaWxlKChwID0gcy5maW5kKCcgJywgcCkpICE9IHN0cmluZzo6bnBvcyl7CgkJaWYoKHAgKyAxIDwgcy5sZW5ndGgoKSkgJiYgKHNbcCArIDFdID09ICcgJykpCgkJCXMuZXJhc2UocCwgMSk7CgkJZWxzZQoJCQkrK3A7Cgl9Cn0KCgoKLy8yLdC+0Lkg0YHQv9C+0YHQvtCxIAp2b2lkIHNwYWNlX3VuaXF1ZShzdHJpbmcmIGQsIGNvbnN0IHN0cmluZyYgcyl7CglzdHJpbmc6OnNpemVfdHlwZSBmLCBsOwoKCWZvcihsID0gZiA9IDA7IChsID0gcy5maW5kKCcgJywgbCkpICE9IHN0cmluZzo6bnBvczsgbCA9IGYpewoJCWQuYXBwZW5kKHMuYmVnaW4oKSArIGYsIHMuYmVnaW4oKSArIChsICsgMSkpOwoJCWYgPSBzLmZpbmRfZmlyc3Rfbm90X29mKCcgJywgbCk7Cgl9CglpZihmIDwgcy5sZW5ndGgoKSkKCQlkLmFwcGVuZChzLmJlZ2luKCkgKyBmLCBzLmVuZCgpKTsKfQoKCgoKaW50IG1haW4odm9pZCl7CgoJc3RyaW5nIHN0ciA9ICJcMSAgICAgVEFTTSAgICAgTUFTTSAgICAgRkFTTSI7CgoJc3BhY2VfdW5pcXVlKHN0cik7Cgljb3V0IDw8IHN0ciA8PCBlbmRsOwoKCS8vLi4uCgoJc3RyaW5nIHJlczsKCXN0ciA9ICIgICBBcHBsZSAgICAgT3JhbmdlICAgICBQb3RhdGUgICAgLiBvcHMgYWxpZW4gICAgICAgICAgICAgICAgZmluIjsKCXNwYWNlX3VuaXF1ZShyZXMsIHN0cik7Cgljb3V0IDw8IHJlczsKCXJldHVybiAwOwp9