ERRORI PROGRAMMA DEVC++
so che ci sono molti errori, ma mi aiutate a capire dove?
Risposte
Potresti scrivere che errori ti dà il compilatore?
Inoltre, usare lo stesso nome "media" per la funzione e per il suo argomento potrebbe indispettire il compilatore, ma riguardo questo non metterei la mano sul fuoco..
Inoltre, usare lo stesso nome "media" per la funzione e per il suo argomento potrebbe indispettire il compilatore, ma riguardo questo non metterei la mano sul fuoco..
I problemi sono vari. Una possibile correzione è questa:
Le correzioni che ho fatto ti sono chiare? Principalmente, tranne un piccolo errore di disattenzione sul for, sono errori connessi al fatto che hai passato per valore cose che dovevi passare con puntatori. Inoltre hai usato lo stesso nome per più cose; cosa che, oltre ad essere un errore qui, porta potenzialmente a codici di difficile comprensione anche quando non risulta essere un errore. Vi è poi un piccolo miglioramento in termini di casting tra tipi di variabili differenti.
#include<stdio.h> void calcola_media (int *temp, float *media); int main () { int temp[24], i; float media; for (i=0; i<24; i++) { printf ("Introduci la temperatura delle ore %d", i); scanf ("%d", &temp[i]); } calcola_media(temp, &media); printf ("Il valore medio delle temperature e': %f", media); return 0; } void calcola_media(int *temp, float *media) { int i, temp_media; temp_media=0; for (i=0; i<24; i++) { temp_media += temp[i]; } (*media) = ((float)temp_media)/24; }anche se non l'unica.
Le correzioni che ho fatto ti sono chiare? Principalmente, tranne un piccolo errore di disattenzione sul for, sono errori connessi al fatto che hai passato per valore cose che dovevi passare con puntatori. Inoltre hai usato lo stesso nome per più cose; cosa che, oltre ad essere un errore qui, porta potenzialmente a codici di difficile comprensione anche quando non risulta essere un errore. Vi è poi un piccolo miglioramento in termini di casting tra tipi di variabili differenti.