Ciao! devo realizzare un programma che prenda due stringhe,le confronti e determini se sono anagrammi.In pratica vuole semplicemente che si verifichi se entrambe le frasi sono costituite dalle stesse lettere.Solo i caratteri alfabetici bisogna controllare:

codice:
#include <stdio.h>#include <stdlib.h>


#define N 15


int main()
{
    char string1[N];
    char string2[N];
    int i,j,c,count,d,verify;
    
    printf("\n\n inserire frase\n\n");
    gets(string1);
    
    c=0;
    for(i=0;i<N;i++)
    {
                      if(string1[i]>='A' && string1[i]<='Z')
                      {
                                        c++;
                      }
    }
    
    char string1a[c];
    char string2a[c];
        
    for(i=0;i<c;i++)
    {
                     if(string1[i]>='A' && string1[i]<='Z')
                     {
                                       string1a[i]=string1[i];
                     }                                     
    }
    
    printf("\n\n inserire frase da confrontare\n\n");
    gets(string2);
    
    d=0;
    for(i=0;i<N;i++)
    {
                      if(string2[i]>='A' && string2[i]<='Z')
                      {
                                        d++;
                      }
    }
    
    for(i=0;i<d;i++)
    {
                     if(string2[i]>='A' && string2[i]<='Z')
                     {
                                       string2a[i]=string2[i];
                     }                                     
    }  
    


    
    for(i=0;i<c;i++)
    {
      printf("%c",string1a[i]);
    }
    
    
    
    if(d==c)
    {
            i=0;
            verify=0;
            do
            {
                     j=0;
                     count=0;
                     do
                     {
                                      if(string1a[i]==string2a[j])
                                      {
                                                                  verify++;
                                                                  count++;
                                                                  string2a[j]=0;
                                      }
                                      j++;
                     }
                     while(count==0 && j<c);
                     i++;
            }
            while(i<c);
            if(verify==c)
            {
                         printf("\n\n sono anagrammi!\n\n");
            }
    }
    else
    {
        printf("\n\n non sono anagrammi!\n\n");
    }
    
    system("pause");
    return 0;   
}
Questo è quanto ho scritto ma non senza problemi......A un certo punto ho messo la stampa di string1a,come si può notare vengono stampati dei valori che non c'entrano nulla e non capisco dove vada a prenderli sinceramente,credevo che la condizione per verificare che i caratteri siano solo lettere maiuscole fosse giusta....ed effettivamente penso sia così,perchè stampando i contatori i valori tornano,è nel momento in cui a string1a vengono assegnati i valori di string1 che succede qualche casino.Sapete dove ho sbagliato?
non entra nemmeno nel dowhile.....

Grazie mille...