Oppure

Loading
26/02/10 20:45
giuseppe93
è vero cha stupido! mi ero impuntato che bisognava invertire la stringa!:noway:
aaa
26/02/10 21:03
Semmai, se il dato è

char *p = "Nome*Cognome";

allora basterebbe una cosa del genere, anche se un po' criptica ...

    char *s = p;
    while(*s++ != '*');
    printf("%s*%.*s\n", s, s-p-1, p);

26/02/10 22:07
Poggi Marco
Metodo davvero interessante!

Scusa la nia ignoranza, puoi spiegarmi come hai impostato la formattazione del printf?
aaa
26/02/10 22:42
ilmettiu
...Dì la verità, l'hai scritto apposta così complesso per incasinarci :-)

Comunque, pare che stampi una stringa ("%s";), poi un'asterisco, poi questo: ("%.s*";) prima del newline che proprio non so a cosa si riferisca :-) Non capisco neanche, sinceramente, per quale motivo ci siano 3 argomenti e solo 2 nella descrizione della formattazione dei dati in output.

Ci puoi illuminare? :)
aaa
26/02/10 22:56
HeDo
antonio non seminare il panico nella mia sezione :D

cplusplus.com/reference/clibrary/cstdio/printf/

EDIT: Dai, il primo che ci arriva vince u pupazzetto!
Ultima modifica effettuata da HeDo 27/02/10 7:12
aaa
27/02/10 8:24
Poggi Marco
Ho capito!

nessuno stampa a video il vattore formattato con printf!
(Ho imparato qualcosa di nuovo. Grazie nessuno!)

Ma l' esercizio chiedeva di invertire l' array, quindi il metodo giusto è quello suggerito da giuseppe93.
Ultima modifica effettuata da Poggi Marco 27/02/10 8:27
aaa
27/02/10 8:42
@ilmettiu ... non è complesso ... se dividi la printf nelle sue parti

printf("%s", s);
printf("*");
printf("%.*s", s-p-1, p);
printf("\n");


l'unica printf "non usuale" è la

printf("%.*s", s-p-1, p);

che non fa altro che visualizzare la stringa p per un numero di caratteri indicato dal primo parametro ovvero da s-p-1. Come ha suggerito HeDo, se non conoscete questa caratteristica del printf, nella documentazione è comunque spiegato.

@Poggi Marco: mi sa che non hai letto tutto il thread con attenzione ... soprattutto la mia risposta a giuseppe93 ...
27/02/10 11:02
Poggi Marco
@nessuno: ti ripeto che l' esercizio chiede di invertire l' array.

Una soluzione giusta è quella di invertire l' intero array. Successivamente, teamite il carattere separatore (*), si invertono le due sottostringhe.

Ultima modifica effettuata da Poggi Marco 27/02/10 11:04
aaa