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.
Confido in voicodice:#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; }![]()
Buona domenica a tutti
Marco

Rispondi quotando