Witam,
program ma usuwać wszystkie niepotrzebne spacje i zamieniać znaki z '<''>' na '['']'
problem polega na tym ze opisany punkt pierwszy wykonuje sie tylko 4 razy i nie usuwa wszystkich niepotrzebnych spacji.
#include <iostream> #include <string> using namespace std; string konwertuj( string & stekst ) { bool spr1=false,spr2=false,spr3=false; size_t znaleziona=0; string sWynik; do{ //pierwszy punkt if(stekst.find("")!=std::string::npos) { znaleziona=stekst.find(""); cout<<"1."<<znaleziona<<endl; stekst.erase(znaleziona,1); } else {spr1=true;} //drugi punkt if(stekst.find('<')!=std::string::npos) { znaleziona=stekst.find('<'); cout<<"2."<<znaleziona<<endl; stekst.erase(znaleziona,1); stekst.insert(znaleziona,"["); } else {spr2=true;} //trzeci punkt if(stekst.find(">")!=std::string::npos) { znaleziona=stekst.find('>'); cout<<"3."<<znaleziona<<endl; stekst.erase(znaleziona,1); stekst.insert(znaleziona,"]"); } else {spr3=true;} }while (spr1==false&&spr2==false&&spr3==false); sWynik=stekst; return sWynik; } int main() { string tekst = "<b>to jest </b> testowy napis <b>:)"; cout << konwertuj( tekst ) << endl; return 0; }