salve a tutti,

ho un problema. ho questa funzione:

codice:
void riscrivi(struct punto*a,int b,FILE* c)	//riscrive su file.
{
	int i,j=0;			//riscrive su file i punti, nel modo più veloce (%g), seguiti dalle lettere
	for(i=0;i<b;i++)	//che corrispondono alle crf a cui appartengono (se ve ne sono): per app[j]=0 
	{					//ad esempio stamperà A. (0+65=0='A')
		fprintf(c,"%g %g",a[i].x,a[i].y);
		for(j=0;j<N_MAX;j++)
			fprintf(c," %c",a[i].app[j]+65);
		fprintf(c,"\n");
	}
}
su un file di testo metto ho delle coppie di numeri che corrispondo alle coordinate del piano cartesiano... metto in input le coordinate di centri di circonferenze e rispettive aree...
il programma mi fa il confronto... con una formula matematica... e fin qui ci siamo funziona...

poi mi ristampa sul file i punti e accanto a i punti mi dovrebbe stampare una lettera

es.

1 2 A

ad A corrisponde la circonferenza 1 a B la 2...

se a una coppia di punti corrispondono pù circonferenze come faccio a scrivere

es.

1 2 A B

la mia precedente soluzione è questa:
codice:
void riscrivi(struct punto*a,int b,FILE* c)
{
	int i;
	for(i=0;i<b;i++)
		fprintf(c,"%f %f %c\n",a[i].x,a[i].y,a[i].app+65);
}
ma mi stampava accanto allecoppie di punti solo l'ultimo carattere
es.
se a 1 2 corrispondevano A e B, il prog scriveva
1 2 B

per favore aiutatemi mi sto davvero imballando...grazie