hola hice un programa que calcule pi por el metodo de montecarlo, trate de hallar la media, la varianza y la desviacion de los numeros aleatorios generados, pero la media me da muy baja y la desviacion muy alta, hice un if para hallar la media a partir de los numeros mayores a 3.0 pero me sigue dando muy baja, me dijeron que para lo que quiero hacer tengo que guardar los numeros generados en un arreglo y de ahi escoger los mayores a 3.0 para hallar la media, pero la verdad nunca he trabajado con arreglos, alguien me puede explicar.. ayuda porfa.
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <conio.h>
#include <time.h>
int main()
{
int cantidad;
double x,y;
int i;
double z, contador=0;
double pi, media, suma, varianza, desviacion;
printf( "Cuantas iteracciones desea hacer: ");
scanf("%d",&cantidad);
srand(time(NULL));
for ( contador=0; contador<cantidad; contador++)
{
x = (double)rand()/RAND_MAX;
y = (double)rand()/RAND_MAX;
z = x*x+y*y;
if (z<=1)
{
contador++;
cantidad++;
pi=contador*4/cantidad;
suma = suma + pi;
if(pi>=3.0){
suma = suma + pi;
media = suma/(double)cantidad ;
varianza = ((suma - media)*(suma-media))/cantidad;
desviacion = sqrt(varianza); }
}
}
printf("La media es %lf\n", media);
printf("la varianza vale %20.14Lf\n",varianza);
printf("la desviacion vale %20.14Lf\n",desviacion);
getch();
}