19/05/10 13:28
u_boss
Ragazzi questo è il mio codice.
Praticamente l'utente immette una frase(quel che vuole) ed il programma deve leggere la frase e terminare di memorizzare le parole immesse quando ne trova due uguali.
Il problema è che il l'algoritmo dovrebbe essere giusto,ma eseguendolo non mi stampa niente. Dove è l'errore?
Sono duee giorni che ci sono sopra e non riesco a capire cosa c'è che non va!
GRazie in anticipo per l'aiuto.
P.S. Sono un neofita del C
Praticamente l'utente immette una frase(quel che vuole) ed il programma deve leggere la frase e terminare di memorizzare le parole immesse quando ne trova due uguali.
Il problema è che il l'algoritmo dovrebbe essere giusto,ma eseguendolo non mi stampa niente. Dove è l'errore?
Sono duee giorni che ci sono sopra e non riesco a capire cosa c'è che non va!
GRazie in anticipo per l'aiuto.
P.S. Sono un neofita del C
#include <stdio.h> #include <stdlib.h> #include <string.h> #define maxchar 21 #define maxparole 10 void reverse_lett(char word[maxchar]);/*funzione per invertire l'ordine delle lettere nella stringa*/ int main() { enum {SI,NO}; int i=0,j,ESCI; ESCI=NO;/*verifica l'uscita dal ciclo*/ char parole[maxparole][maxchar],temp[maxchar]={" "}; printf("Inserire serie di parole\n"); while(ESCI==NO)/*ciclo while per riempire il vettore di stringhe*/ { scanf("%s",temp); /*variabile temporanea*/ if((strcmp(temp,parole[i-1])==0)) /*confronto*/ ESCI=SI; else { strcpy(parole[i],temp);/*copia della stringa nel vettore*/ i++; } } for(j=0;j<=i;j++) /*ciclo per mandare alla funzione tutte le stringhe immesse*/ { reverse_lett(parole[j]);/*funzione*/ } return EXIT_SUCCESS; } /*-----inizio funzione reverse------*/ void reverse_lett(char word[maxchar]) { int k,lung=strlen(word); int x=strlen(word); char temp; for(k=0;k<(lung/2);k++) { temp=word[k]; word[k]=word[x]; word[x]=temp; x--; } /*ora la stringa è rovesciata*/ printf("%s",word);/*stampa*/ }
aaa