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:
codice:
#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;
}
grazie