#include <stdio.h>
#include <stdlib.h>
#include "../data_libs/data_io.h"
#include "data_process.h"
int main() {
double *data;
int n;
int status = 0;
if (scanf("%d", &n) != 1 || n <= 0) status = 1;
data = (double *)malloc(n * sizeof(double));
if (data == NULL) {
status = 1;
printf("n/a");
} else {
input(data, n);
if (normalization(data, n))
output(data, n);
else
printf("ERROR");
}
free(data);
return status;
}
#include "data_process.h"
#include <math.h>
#include "../data_libs/data_stat.h"
int normalization(double *data, int n) {
int result = 1;
double max_value = max(data, n);
double min_value = min(data, n);
double size = max_value - min_value;
if (fabs(size) > EPS) {
for (int i = 0; i < n; i++) {
data[i] = data[i] / size - min_value / size;
}
} else {
result = 0;
}
return result;
}
#ifndef PROCESSING_H
#define PROCESSING_H
#define EPS 1E-6
int normalization(double *data, int n);
#endif
gcc data_module/data_module_entry.c data_module/data_process.c data_libs/data_io.c data_libs/data_stat.c -lm