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;
}