Allora vi espongo il mio problema:
immessa una stringa da input vorrei restituire in output un'altra stringa contenente le stesse parole di quella di partenza ma in ordine invertito, senza trattare le stringhe come oggetti e quindi riferendoci ad esse come degli array di char o con dei puntatori char*.
esempio: stringa immessa--> ciao andrea
stringa restituita-->andrea ciao
mi rendo conto che non sia una cosa trascendentale ma vorrei un aiuto perche non riesco a trovare una soluzione...
posto anche una mia prova ma che purtroppo si blocca in fase di run:
graziecodice:#include <iostream> #include <cstring> using namespace std; void assegnaToken(char*token, char n[],int pos){ while(token!=NULL){ n[pos]=*token; token++; pos++; } } void estraiToken(char v[], char n[], int lungFrase){ char *tokenParz; int lungToken=0; int pos; tokenParz= strtok(v," "); while(tokenParz!= NULL){ lungToken=lungToken+strlen(tokenParz); pos=lungFrase-lungToken; assegnaToken(tokenParz,n,pos); tokenParz=strtok(NULL, " "); } } int main(){ char frase[150]; cout<<"ins frase da visualizz al contrario"<<endl; cin.getline(frase,150); int lungFrase=0; lungFrase=strlen(frase); char contrario[150]; estraiToken(frase,contrario,lungFrase); cout<<contrario; return 0; }![]()

Rispondi quotando