cosa c'è di sbagliato? perchè non mi trova gli anagrammi corretti?
so che il problema è nel ciclo for ma non riesco a individuarlo!![]()
![]()
![]()
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
codice: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); if (strlen(p1)==strlen(p2)){ for (k=0; k<(strlen(p1)-1); k++){ for (i=k; i<strlen(p1); i++){ if (p1aux[i]>p1aux[i+1]) { temp=p1aux[i]; p1aux[i]=p1aux[i+1]; p1aux[i+1]=temp; } }} for (i=0; i<(strlen(p1)-1); i++) { for (k=i; k<strlen(p1); k++) { if(p2aux[k]>p2aux[k+1]) { temp2=p2aux[k]; p2aux[k]=p2aux[k+1]; p2aux[k+1]=temp2; } }} printf( "%s\n", p1aux); printf ("%s\n", p2aux); if (strcmp(p1aux,p2aux)==0) printf ("le parole sono un anagramma!"); else printf ("le parole non sono un anagramma"); } else printf ("le parole non sono anagrammi!"); return 0; }

Rispondi quotando