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