|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
[C++] Invertire le lettere di una parola
sto lavorando a un programma per crittare e decrittare e mi serve una funzione che inverta le lettere di una parola, per esempio se la parola è "ciao" io voglio che diventi "oaic".
esiste una funzione o devo crearla io? grazie in anticipo |
|
|
|
|
|
#2 |
|
Utente sospeso
Iscritto dal: Oct 2002
Messaggi: 2156
|
bo, magari esiste qualche libreria che contiene funzioni di questo tipo, ma vista la banalità dell'operazione ti suggerisco di non perdere tempo a cercare e fartela tu.....quand'ero studente persi due giorni a cercare una libreria con dentro una funzione che convertisse un indirizzo IP dalla notazione puntata all'unsigned int che sta dentro al pacchetto IP.......alla fine, spazientito, ma la sono fatta da solo....in 10 minuti l'avevo scritta e testata..... e nel mio caso la funzione era un po' meno banale di quella che serve a te.
__________________
sign editata dallo staff |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Comunque è semplice da fare: Codice:
char* str_reverse (char *s)
{
int i, j, l;
char c;
for (i=0,l=strlen(s),j=l-1; i<l/2; c=s[i], s[i++]=s[j], s[j--]=c);
return s;
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
grazie mille.
visto che non vorrei aprire un'altr discussione per non scocciare troppo, posso fare qui altre domande che riguardano questo codice? Ultima modifica di AngeL) : 05-07-2006 alle 14:07. |
|
|
|
|
|
#5 |
|
Utente sospeso
Iscritto dal: Oct 2002
Messaggi: 2156
|
Andbin ma sei onnipresente !!!!
__________________
sign editata dallo staff |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
|
Quote:
Codice:
void str_reverse (char *s)
{
char val;
for (int i=0; i<strlen(s)/2; i++){
val = *(s+i);
*(s+i) = *(s+(strlen(s)-i-1));
*(s+(strlen(s)-i-1)) = val;
}
}
e spreco meno memoria ![]() ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Puoi fare: char str[] = "Stringa"; printf ("Stringa invertita %s\n", str_reverse (str)); Ti sei mai chiesto perché le varie strcpy, strcat, ecc... ritornino un puntatore alla stringa di destinazione?? Perché così si può fare, ad esempio: strcat (strcpy (buffer, str1), str2);
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:53.











e spreco meno memoria 








