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


#ifndef DATA_PROCESS_H
#define DATA_PROCESS_H

#include "data_stat.h"
#include <math.h>

int normalization(double *data, int n);

#endif





#include "data_process.h"

int normalization(double *data, int n) {
    double max_val = max(data, n);
    double min_val = min(data, n);
    
    if (max_val == min_val) {
        return 0;
    }
    
    for (int i = 0; i < n; i++) {
        data[i] = (data[i] - min_val) / (max_val - min_val);
    }
    return 1;
}



#include "../data_libs/data_io.h"
#include "../data_libs/data_stat.h"
#include "../data_libs/data_process.h"

int main() {
    int n;
    double *data;
    
    printf("Enter number of elements: ");
    scanf("%d", &n);
    
    data = (double*)malloc(n * sizeof(double));
    if (data == NULL) {
        printf("n/a\n");
        return 1;
    }
    
    input(data, n);
    
    if (normalization(data, n)) {
        printf("Normalization completed\n");
        output(data, n);
    } else {
        printf("Normalization failed\n");
    }
    
    free(data);
    return 0;
}





# Переходим в папку с файлом
cd src/data_module

# Компилируем
gcc -o ../../build/data_module_entry data_module_entry.c ../data_libs/data_io.c ../data_libs/data_stat.c ../data_libs/data_process.c -lm

# Возвращаемся в корень
cd ../..

# Запускаем
./build/data_module_entry

# ВВОДИМ:
5
1 2 3 4 5

# ДОЛЖНЫ УВИДЕТЬ:
# Normalization completed
# 0.00 0.25 0.50 0.75 1.00