Salve a tutti.
Sto studiando da poco il linguaggio C e mi risulta di facile comprensione, ma, quando devo mettere mano al codice vero e proprio, sorge sempre qualche problema.
Guardate questo esercizio: devo fare la media delle ascisse e delle ordinate dei punti dati in input. Al momento dell'esecuzione, il terminale mi chiede di inserire come input il nome del punto e la sua ascissa ed ordinata, così come da me richiesto. Il problema sorge dopo l'inserimento del primo punto: dopo aver digitato l'ordinata di quest'ultimo, infatti, ciò che mi viene richiesto è: Inserire nome punto: Inserisce ascissa. Ma no! Dovrei prima inserire il nome del punto e poi inserire la sua ascissa! Il problema è sicuramente la variabile array char "punti". Dov'è che sbaglio? Qualcuno sa darmi una mano? Vi allego qui di seguito il codice.
codice:
#include <stdio.h>
int main(void){
float x[20],y[20],media_x=0,media_y=0;
char punti[20];
int cont;
for(cont=0;cont<20;cont++){
printf("Inserire nome punto: ");
scanf("%c",&punti[cont]);
printf("Inserire la sua ascissa: ");
scanf("%f",&x[cont]);
printf("Inserire la sua ordinata: ");
scanf("%f",&y[cont]);
media_x+=x[cont];
media_y+=y[cont];
}
printf("\n------------------------------\nIl centroide ha ascissa pari a %f ed ordinata pari a %f------------------------------\n",(media_x/20),(media_y/20));
return 0;
}
Confido in voi
Buona domenica a tutti
Marco