Salve a tutti sono da poco entrato nel mondo dell'informatica a causa di un'esame all'università. Studiavo gli array e i cicli e mi sono imbattuto in uno spezzone di programma che ho cercato di completare e testare. Il gcc è pulito, tuttavia all'esecuzione il programma non funge correttamente. Per la precisione qualora inserisca più di 4 raggi il risultato ottenuto è scorretto. Posto il file sorgente :
codice:#include <stdio.h> float Areacerchio(float raggio); int main () { int i = -1, n = 0; float raggio [5], area [5]; printf ("\n Enter 0 to quit."); do { i++; printf("\n Numeri Radius ?"); scanf("%f",&raggio[i]); area[i] = Areacerchio(raggio[i]); } while ((raggio [i] !=0) && (i<5)); n = i; for( i = 0; i<n; i++) { printf("\n Radius = %.2f, Area = %.2f\n", raggio [i], area[i]); } return 0; } float Areacerchio(float raggio) { const float pi=3.14; float a; a = pi*raggio*raggio; return (a); }
Dove ho sbagliato? Avendo indicato 5 nel valore di Area e raggio non dovrei avere 5 elementi a disposizione?

Rispondi quotando
, per le prossime discussioni presterò attenzione a quanto mi hai detto. Grazie ancora
