//---------------------------------------------------------------------------
#pragma hdrstop
#include "Statistik.h"
//---------------------------------------------------------------------------
Varians::Varians()
{
    Brugt = 0;
	for(int i = 0; i < Antal; i++)
      SListe[i] = 0;                                   //nulstiller listen
}

void Varians::Udskriv()
{
	for(int i = 0; i < Antal; i++)
      {
      cout << SListe[i] << " ";                        //udskriver tegn for tegn
      }
}

bool Varians::Indsaet(double indsat)
{
    if (Brugt < Antal)
    {
      SListe[Brugt] = indsat;
      Brugt++;
      return true;
    }
    else
    {
      cout << "\nSListen er fyldt";
      return false;
    }
}

void Varians::Nulstil()
{
	for(int i = 0; i < Brugt; i++)
      SListe[i] = 0;
    Brugt = 0;

}

double Varians::BeregnVarians()
{
	double Gennemsnit(0), VarSum(0), SVar(0), CV(0);

	if(Brugt == 0)
      return 0;

    for(int i = 0; i < Brugt; i++)                     //finder gennemsnitet for alle de
      Gennemsnit += SListe[i];                         //indsatte værdier i obj, her ved
                                                       //opsumering
    if(Brugt == 0)
      Gennemsnit = 0;
    else
      Gennemsnit = Gennemsnit/Brugt;                   //her udregning

	for(int i = 0; i < Brugt; i++)
      VarSum += pow((SListe[i] - Gennemsnit), 2);      //opsumering af udsving

    if(Brugt-1 == 0)
      SVar = 0;
    else
      SVar = sqrt(VarSum/(Brugt-1));                   //S beregnes

    if(Gennemsnit == 0)
      CV = 0;
    else
      CV = (SVar/Gennemsnit)*100;                      //CV beregnes
    return CV;
}

