salve a tutti,
ho un problema. ho questa funzione:
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...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"); } }
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:
ma mi stampava accanto allecoppie di punti solo l'ultimo caratterecodice: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); }
es.
se a 1 2 corrispondevano A e B, il prog scriveva
1 2 B
per favore aiutatemi mi sto davvero imballando...grazie

Rispondi quotando