miércoles, 22 de septiembre de 2010

Validacion de numeros Aleatorios por Corridas Arriba y Abajo del promedio

Bueno este es el codigo de la segunda libreria
tampoco es nada complicado solo se hacen las operaciones del metodo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Corridas
{
    public class corridasArribaAbajo
    {
        public string transformacion;
        public double ceros;
        public double unos;
        public double totalcorridas;
        public double esperado;
        public double varianza;
        public double estadistico;
        public double media;

        public void validar(double tamanio, double[] numeros)
        {
            double totalnum = tamanio;
            double sumatotal = 0;
            double[] corridas = new double[int.Parse(totalnum.ToString())];

            for (int i = 0; i < totalnum; i++)//suma los numeros aleatorios para sacar el promedio
            {
                total = total + numeros[i];
            }

            media = double.Parse(total.ToString()) / double.Parse(totalnum.ToString());
            string med = media.ToString();

            for (int i = 0; i < totalnum; i++)//aqui transformamos los numeros en 0 y 1
            {
                if (numeros[i] > media)
                {
                    corridas[i] = 0.00;
                }
                else
                {
                    corridas[i] = 1.00;
                }
            }
            string numcorridas = ""; //guardara los 0 y 1
            for (int i = 0; i < totalnum; i++)
            {
                numcorridas = numcorridas + corridas[i].ToString();
            }

            transformacion = numcorridas;
            numcorridas = numcorridas + "X";
           
            unos = 0.00;
            ceros = 0.00;
           
            totalcorridas = 0.00;

            for (int i = 0; i < numcorridas.Count(); i++)//este ciclo cuenta cuantos 0 y cuantos unos hay
            {
                if (numcorridas[i] == '0')
                {
                    ceros += 1.00;
                }
                else
                    if (numcorridas[i] == '1')
                    {
                        unos += 1.00;
                    }
                   
                if (numcorridas[i] == '0' || numcorridas[i] == '1')
                {
                    if (numcorridas[i] != numcorridas[i + 1])
                    {
                      totalcorridas += 1.00;
                    }
                   
                }
                else { }
                double totalnumcorrida = ceros + unos;
                esperado = ((2.00 * ceros * unos) /totalnumcorrida) + (1.00 / 2.00);
                varianza = (((2.00 * ceros * unos * ((2.00 * ceros * unos) - totalnumcorrida))) / ((totalnumcorrida * totalnumcorrida) * (totalnumcorrida - 1.00)));
                estadistico = (totalcorridas - esperado) / varianza;


            }

        }
    }
}

No hay comentarios:

Publicar un comentario