Загрузка данных


smaugmol@us-r3:~/D09T06_ID_1577487-1/src$ cat data_libs/data_io.c data_libs/data_stat.c data_module/data_process.c yet_another_decision_module/decision.c
#include "data_io.h"
#include "stdio.h"

void input(double *data, int n)
{
    for (int i = 0; i < n; i++)
    {
        scanf("%lf", &data[i]);
    }
}

void output(double *data, int n)
{
    for (int i = 0; i < n; i++)
    {
        printf("%.2lf", data[i]);
        if (i < n - 1)
            printf(" ");
    }
}
#include "data_stat.h"

double max(double *data, int n)
{
    double result = data[0];

    for (int i = 1; i < n; i++)
    {
        if (data[i] > result)
            result = data[i];
    }

    return result;
}

double min(double *data, int n)
{
    double result = data[0];

    for (int i = 1; i < n; i++)
    {
        if (data[i] < result)
            result = data[i];
    }

    return result;
}

double mean(double *data, int n)
{
    double sum = 0;

    for (int i = 0; i < n; i++)
        sum += data[i];

    return sum / n;
}

double variance(double *data, int n)
{
    double average = mean(data, n);
    double sum = 0;

    for (int i = 0; i < n; i++)
        sum += (data[i] - average) * (data[i] - average);

    return sum / n;
}
#include "data_process.h"
#include "../data_libs/data_stat.h"
#include <math.h>

int normalization(double *data, int n)
{
    double max_value = max(data, n);
    double min_value = min(data, n);
    double size = max_value - min_value;

    if (fabs(size) < EPS)
        return 0;

    for (int i = 0; i < n; i++)
    {
        data[i] = (data[i] - min_value) / size;
    }

    return 1;
}
#include <math.h>
#include "../data_libs/data_stat.h"
#include "decision.h"

int make_decision(double *data, int n)
{
    double m = mean(data, n);
    double sigma = sqrt(variance(data, n));
    double max_value = max(data, n);
    double min_value = min(data, n);

    return (max_value <= m + 3 * sigma) &&
           (min_value >= m - 3 * sigma) &&
           (m >= GOLDEN_RATIO);
}