provandolo a correggere così ho notato che dopo essere entrati nei cicli for (bubble sort) le due stringhe p1aux e p2aux escono senza valori... come mai??
codice:#include <stdio.h> #include <string.h> #include <stdlib.h> int main (void) { char p1[20]; char p2[20]; int i=0; int x,k,temp,temp2; char p1aux[20]; char p2aux[20]; printf ("digita una parola: "); scanf ("%s", p1); printf ("digita una seconda parola: "); scanf ("%s", p2); strcpy(p1aux,p1); strcpy(p2aux,p2); printf ("%s\n%s\n", p1aux , p2aux); for (k=0; k<(strlen(p1)-1); k++){ for (i=0; i<strlen(p1); i++){ if (p1aux[k]>p1aux[i+1]) { temp=p1aux[k]; p1aux[k]=p1aux[i+1]; p1aux[i+1]=temp; } }} for (i=0; i<(strlen(p1)-1); i++) { for (k=0; k<strlen(p1); k++) { if(p2aux[i]>p2aux[k+1]) { temp2=p2aux[i]; p2aux[i]=p2aux[k+1]; p2aux[k+1]=temp2; } }} printf( "ciao:%s\n", p1aux); printf ("ciao: %s\n", p2aux); if (strcmp(p1aux,p2aux)==0) printf ("le parole sono un anagramma!"); else printf ("le parole non sono un anagramma"); return 0; }

Rispondi quotando