Azzurra IRC Network Forum

stringa palindroma in C

leffy13 · 15/01/2007 10:07 · #1
Il seguente programma verifica se la stringa inserita è o non è palindroma e funziona correttamente

#include < stdio.h >
#include < string.h >

int reverse(char r[],char s[]);

main()
{
char str[20],inversa[20];
printf("Inserisci una stringa:n");
scanf("%s",str);
reverse(inversa,str);
if(strcmp(inversa,str)==0) printf("%s e' una parola palindroma.n",inversa);
else printf("%s non e' una parola palindroma.n",str);
}

int reverse(char r[],char s[])
{
int i,len;
len=strlen(s);
for(i=0;i < len;i++)
r=s[len-i-1];
r[len]='\0';
}

Se volessi inserire una frase e verificare se è palindroma eliminando gli spazi bianchi cosa dovrei fare??
Vins · 07/04/2007 08:10 · #2
non basterebbe togliere gli spazi ma dovresti anche trattare singolarmente i casi in cui usi le lettere accentate...
Per quanto riguarda la tua richiesta del togliere gli spazi non mi ricordo che esista già preconfezionata in C, quindi dovresti farti una funzione che, prendendo in input una stringa, elimina gli spazi, poi la usi dove ti serve.
Per fare la funzione in questione puoi usare le funzioni che hai già a disposizione sulla manipolazione delle stringhe che trovi nell'header string.h
ciao icon_smile.gif