Marino_c++ ha scritto:
Ciao!
1- Credo che vetB[n] debba essere un float e non un int perchè non è detto che la divisione ti restituisca un intero!
2- Prova a stampare a video mano mano "k" e vedi se contiene davvero l'incremento.
3- Manca il return 0 !
4-
for(i=0;i<n;i++){
for(k=0;k<i;k++){
cont=cont+vetA[k];
}
vetB[i]=cont/k;
}
All'inizio i vale 0 e k vale 0 essendo 0 < 0 false nel ciclo for annidato non ti entra proprio il programma quindi fa una divisione 0/0 essendo k = 0 e cont = 0 !
Fammi sapere !
grazie mille ora ho corretto e pare che va solo che la media matematica risulta errata... ecco il codice:
#include<stdio.h>
#include<stdlib.h>
int main(void){
int i,k,cont,n,somma;
cont=0;
somma=0;
printf("inserisci la dimensione del vetore ");
scanf("%d",&n);
int vetA[n];
double vetB[n];
for(i=0;i<n;i++){
printf("inserisci un numero ");
scanf("%d",&vetA[i]);
}
for(k=0;k<n;k++){
for(i=0;i<=k;i++){
somma=somma+vetA[i];
cont=cont+1;
}
vetB[k]=(double)somma/cont;
}
for(k=0;k<n;k++){
printf("%g\n",vetB[k]);
}
system("PAUSE");
}