#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