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