Kod u c-u

#include<stdio.h>

#include<stldibh.>

#include<math.h>

 

double uniform(double a, double b)

{

    return rand() / (RAND_MAX + 1.0) * (b - a) + a;

}

 

double estimation_1(double p[], int size, int show_print)

{

    double minimum, ocena;

    int i;

    minimum = p[0];

 

    for (i = 1; i < size; i++)

    {

        if (p[i] < minimum)

        {

           minimum = p[i];

        }

    }

 

    ocena = minimum * (size + 1) / size;

 

    if(show_print)

        printf("Ocena_1 je %f ", ocena);

    return ocena;

}

 

 

double estimation_2(double p[], int size, int show_print)

{

int i;

double avg, sum = 0.0;

double ocena;

for (i = 0; i < size; ++i) {

sum += p[i];

}

avg = (sum / size);

 

ocena = avg * 2;

if(show_print)

        printf("Ocena_2 je %f ", ocena);

 

 

return ocena;

 

}

 

double mean(double p[], int size, int show_print)

{

int i;

double avg, sum = 0.0;

for (i = 0; i < size; ++i) {

sum += p[i];

}

avg = (sum / size);

 

if(show_print)

        printf("Srednja vrednost je %f ", avg);

 

 

return avg;

 

}

 

 

int main()

{

    int size_uzorka = 200;

    int size_ponavljanja = 10;

    double p[ size_uzorka ];

    int i,j;

    double prava_vrednost = -5.0;

    int show_print = 0;

 

 

    double ocena_1;

    double ocena_2;

 

    double kv_odstupanje_ocena_1[size_ponavljanja];

    double kv_odstupanje_ocena_2[size_ponavljanja];

 

    double abs_odstupanje_ocena_1[size_ponavljanja];

    double abs_odstupanje_ocena_2[size_ponavljanja];

 

    for(i = 0; i < size_ponavljanja; i++)

    {

            for(j = 0; j < size_uzorka; j++)

            {

                p[j] = uniform(prava_vrednost, 0);

            }

        ocena_1 = estimation_1(p, size_uzorka, show_print);

        ocena_2 = estimation_2(p, size_uzorka, show_print);

 

        kv_odstupanje_ocena_1[i] = (ocena_1 - prava_vrednost)*(ocena_1 - prava_vrednost);

        kv_odstupanje_ocena_2[i] = (ocena_2 - prava_vrednost)*(ocena_2 - prava_vrednost);

 

        abs_odstupanje_ocena_1[i] = fabs(ocena_1 - prava_vrednost);

        abs_odstupanje_ocena_2[i] = fabs(ocena_2 - prava_vrednost);

    }

 

    printf("Srednje-kvadratno odstupanje prve ocene je %f ", mean(kv_odstupanje_ocena_1, size_ponavljanja, show_print));

 

    printf("Srednje-kvadratno odstupanje druge ocene je %f ", mean(kv_odstupanje_ocena_2, size_ponavljanja, show_print));

 

    printf("Apsolutno odstupanje prve ocene je %f ", mean(abs_odstupanje_ocena_1, size_ponavljanja, show_print));

 

    printf("Apsolutno odstupanje druge ocene je %f ", mean(abs_odstupanje_ocena_2, size_ponavljanja, show_print));

 

    return 0;

}


Tekući kursevi