Riki94 (Normal User)
Pro
Messaggi: 93
Iscritto: 30/07/2009
|
Scusate la domanda banale, ma non ne riesco a venire a capo...
se prelevo una stringa, ad esempio "ciao ciao", che sia essa da un file o da input diretto dell'utente, come faccio a eliminare lo spazio?? in modo che diventi "ciaociao"...
|
|
Numa Pompilio (Ex-Member)
Pro
Messaggi: 66
Iscritto: 03/05/2010
|
|
|
Riki94 (Normal User)
Pro
Messaggi: 93
Iscritto: 30/07/2009
|
ho scritto questo codice... ma non funziona.. probabilmente sono un po tonto...
Codice sorgente - presumibilmente C++ |
#include <iostream> #include <iomanip> #include <string> using namespace std; int main() { string stringa; string stringa2; int i; cin >> stringa; for(i=0;i<stringa.length();i++) { if(stringa[i]!= " ") { stringa2[i]= stringa[i]; } } cout << stringa2; system("PAUSE"); }
|
|
|
Numa Pompilio (Ex-Member)
Pro
Messaggi: 66
Iscritto: 03/05/2010
|
Postato originariamente da Riki94:
ho scritto questo codice... ma non funziona.. probabilmente sono un po tonto...
Codice sorgente - presumibilmente C++ |
#include <iostream> #include <iomanip> #include <string> using namespace std; int main() { string stringa; string stringa2; int i; cin >> stringa; for(i=0;i<stringa.length();i++) { if(stringa[i]!= " ") { stringa2[i]= stringa[i]; } } cout << stringa2; system("PAUSE"); }
|
|
devi usare 2 indici diversi per le 2 stringhe. Quello di stringa lo incrementi ad ogni ciclo for, quello di stringa2 solo quando entri nell'if.....capito? e poi, se non ricordo male, per indicare un char si usano i singoli apici (' ') e non quello doppi (" ").
Prova e facci sapere.
ps. la prossima volta posta anche cosa ti sputa fuori il compilatore |
|
Riki94 (Normal User)
Pro
Messaggi: 93
Iscritto: 30/07/2009
|
ho messo 2 indici... ma non funziona...
errore del compilatore: ISO C++ forbids comparison between pointer and integer
Codice sorgente - presumibilmente C++ |
#include <iostream> #include <iomanip> #include <string> using namespace std; int main() { string stringa; string stringa2; int i; int j=0; cin >> stringa; for(i=0;i<stringa.length();i++) { if(stringa[i]!= " ") { stringa2[j]= stringa[i]; j = i; } } cout << stringa2; system("PAUSE"); }
|
|
|
Numa Pompilio (Ex-Member)
Pro
Messaggi: 66
Iscritto: 03/05/2010
|
Postato originariamente da Riki94:
ho messo 2 indici... ma non funziona...
errore del compilatore: ISO C++ forbids comparison between pointer and integer
Codice sorgente - presumibilmente C++ |
#include <iostream> #include <iomanip> #include <string> using namespace std; int main() { string stringa; string stringa2; int i; int j=0; cin >> stringa; for(i=0;i<stringa.length();i++) { if(stringa[i]!= " ") { stringa2[j]= stringa[i]; j = i; } } cout << stringa2; system("PAUSE"); }
|
|
togli quel j=i e mettici ++j; |
|
Riki94 (Normal User)
Pro
Messaggi: 93
Iscritto: 30/07/2009
|
ho cambiato i=j con ++j;
ma non funziona... l'errore è nel
if(stringa!= " ")
errore: ISO C++ forbids comparison between pointer and integer
|
|
Numa Pompilio (Ex-Member)
Pro
Messaggi: 66
Iscritto: 03/05/2010
|
Postato originariamente da Riki94:
ho cambiato i=j con ++j;
ma non funziona... l'errore è nel
if(stringa!= " ")
errore: ISO C++ forbids comparison between pointer and integer |
Non sono un esperto di C++...........però prova a togliere i doppi apici e mettici quelli singoli |
|
Riki94 (Normal User)
Pro
Messaggi: 93
Iscritto: 30/07/2009
|
mettendo ' ' al posto di " " compila il programma... però se inserisco ciao ciao non mi da l'output....
|
|