Rozdział 28, zadanie
Ostatnio zmodyfikowano 2017-02-04 18:00
bobby.hl Temat założony przez niniejszego użytkownika |
Rozdział 28, zadanie » 2017-02-04 11:43:37 Czy moglibyście rzucić okiem na mój kod i powiedzieć mi czy jest to optymalne rozwiązanie problemu, czy może można zrobić to "prościej" i "szybciej" ? co to za rodzaj zmiennej ten "size_t" i czemu nie można uzyć np. "int" skoro zwracana jest wartość w postaci liczby? Czym te rodzaje zmiennej się różnią? Z góry dzięki. :) #include <iostream> #include <string>
using namespace std;
string konwertuj( string & sTekst ) { string sWynik; size_t pozycja = sTekst.find( "<" ); do { sTekst.erase( pozycja, 1 ); sTekst.insert( pozycja, "[" ); pozycja = sTekst.find( "<" ); } while( pozycja != string::npos ); size_t pozycja2 = sTekst.find( ">" ); do { sTekst.erase( pozycja2, 1 ); sTekst.insert( pozycja2, "]" ); pozycja2 = sTekst.find( ">" ); } while( pozycja2 != string::npos ); size_t pozycja3 = sTekst.find( " " ); do { sTekst.erase( pozycja3, 1 ); pozycja3 = sTekst.find( " " ); } while( pozycja3 != string::npos ); sWynik.insert( 0, sTekst ); return sWynik; } int main() { string tekst = "<b>to jest </b> testowy napis <b>:)"; cout << konwertuj( tekst ) << endl; return 0; } |
|
krainamodu |
» 2017-02-04 18:00:48 #include <iostream> #include <string>
using namespace std;
void konwertuj(string & sTekst) //void { for (int i = 0; i < sTekst.size(); i++) { if (sTekst == '<') sTekst = '['; else if(sTekst == '>') sTekst = ']'; } int pozycja = sTekst.find(" "); while(pozycja != string::npos) { sTekst.erase(pozycja, 1); pozycja = sTekst.find(" "); } } int main() { string tekst = "<b>to jest </b> testowy napis <b>:)"; konwertuj(tekst); cout << tekst << endl; cin.get(); return 0; } ja bym tak to skrócił. nie pamiętam jak się wstawiało kod |
|
« 1 » |