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

void carica_oggetti(int r,int c,char scacchiera[][30]);
void carica_centro1_centro2(int r1,int r2,int c1, int c2,char scacchiera[][30]);
void calcola(char scacchiera[][30]);
void distanza(int i,int j,int r1,int r2,int c1,int c2, float dist1,float dist2);


int main()
{
  int i,j,r,c,d1,d2,r1,r2,c1,c2;
  char X;
  
char scacchiera [][30]= {{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
                    {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '}};
                    
                    
carica_centro1_centro2(r1,r2,c1,c2,scacchiera);
     
     
     for(r=0;r<30;r++){
                    for(c=0;c<30;c++)
printf("%c",scacchiera[r][c]);
printf("\n");
}
     system("pause");
printf("*****************************************************************\n");     
carica_oggetti(r,c,scacchiera);

     printf("\n\n");

  for(r=0;r<30;r++){
                    for(c=0;c<30;c++)
printf("%c",scacchiera[r][c]);
printf("\n");
}
system("pause");

printf("*****************************************************************\n");
calcola(scacchiera);
for(i=0;i<30;i++){
                  for(j=0;j<30;j++){
                                    printf("%c",scacchiera[i][j]);
                                    
                                    }
                                    printf("\n");
                 }                   
system("PAUSE");
}//fine main

/*funzione che genera una nuova scacchiera con gli oggetti dell'insieme A e dell'insieme B*/


void calcola(char scacchiera[][30])
{
int i,j,r1,r2,c1,c2;
float dist1,dist2;
for (i=0;i<30;i++){
    for(j=0;j<30;j++){
                      if(scacchiera[i][j]=='X'){
                                                distanza(i,j,r1,r2,c1,c2,dist1,dist2);
                                                
                                                if(dist1<dist2)
                                                   scacchiera[i][j]='A';
                                                else 
                                                   scacchiera[i][j]='B';
                                                   
                                                   }
                                                   
                                               else {
                                                    if(dist1==dist2)
                                                   scacchiera[i][j]='U';
                                                   }
                                                                                          
                      }
                     }   
    
}

/*funzione per calcolare la distanza delle X da centro 1 e centro 2*/

void distanza(int i,int j,int r1,int r2,int c1,int c2,float dist1,float dist2)
{
     
      dist1=sqrt((r1-i)*(r1-i)+(c1-j)*(c1-j)); 
      dist2=sqrt((r2-i)*(r2-i)+(c2-j)*(c2-j));

} 
     
     /*funzione che genera una posizione casuale per centro 1 e centro 2*/
     
void carica_centro1_centro2(int r1,int r2,int c1, int c2,char scacchiera[][30])
{
     
srand(time(NULL));
  
     r1=rand()%31;
     c1=rand()%31;
    
     r2=rand()%31;
     c2=rand()%31;
     
     scacchiera[r1][c1]='1';
     scacchiera[r2][c2]='2';
     }
     
     /*funzione che genera una posizione casuale per 50 oggetti*/
     
void carica_oggetti(int r,int c,char scacchiera[][30])
{
     int i;
srand(time(NULL));
  for(i=0;i<50;i++)
  {
     r=rand()%31;
     c=rand()%31;
     
     if(scacchiera[r][c]==' ') 
     scacchiera[r][c]='X';
     else i--;
     }
}

questo è il mio programma,solo che mi stampa solo le A,mi sembra tutto giusto,potete dirmi dove sbaglio?