Questo perchè se ci guardi bene, se la stringa è palindroma non stampa niente: non hai previsto alcuna stampa.Stampi solo "non è palindroma" se non lo è.Originariamente inviato da goatboy
Le avevo già messe, ma il programma mi dava la lunghezza della parola e poi mi richiedeva di inserirne un'altra, senza dirmi se era o no palindroma.
codice:#include <stdio.h> #include <stdbool.h> #define DIM 100 int main(){ char *punt_char; char parola[DIM]; bool palindroma=true; char c; int lung, flag=0, i, j; while(!flag){ punt_char=parola; lung=0; printf("Digita la parola: "); while(((c=getchar())!=' ' && c!='\n')){ *(punt_char+lung)=c; lung++; } *(punt_char+lung)='\0'; printf("La parola ha lunghezza %d caratteri\n", lung); if(lung==0){ flag=1; printf("Fine Programma\n"); }else{ if(lung==1){ printf("Carattere Isolato\n"); }else{ i=0; j=lung-1; while(i<j) { palindroma=true; if(*(punt_char+i)==*(punt_char+j)){ i++; j--; }else{ printf("La parola non e' palindroma\n"); palindroma=false; break; } } if(palindroma) printf("La stringa è palindroma\n"); } } } }

Rispondi quotando