salve a tutti, sto programmando un piccolo programma che prendendo 8 numeri naturali in un array li somma e fa la media, i risultati in output sono sbagliati e non so perchè, qualcuno che mi dia una mano?
C++:
#include <stdio.h>
void carray(int v[]);
int somma(int v[]);
int media(int v[]);
int main()
{
int scelta,s,m;
int v[8];
do
{
printf("dammi le 8 cifre di cui fare somma e media\n");
carray(v);
s=somma(v);
printf("il risultato della somma e %d",s);
m=media(v);
printf("il risultato della media e %d",m);
printf("per ripetere il programma premi un tasto diverso da 1");
scanf("%d",&scelta);
}
while(scelta!=1);
}
//funzione carray
void carray (int v[])
{
int i;
for(i=0;i<8;i++)
{
scanf("%d \n",&v[i]);
}
}
//funzione che somma i valori del array
int somma (int v[])
{
int i,s;
for(i=0;i<8;i++)
{
s=s+v[i];
}
return s;
}
//funzione media
int media (int v[])
{
int i,s,m;
for(i=0;i<8;i++)
{
s=s+v[i];
}
m=s/8;
return m;
}