/* Άσκηση 4 Κεφ. 11, σελ. 490 του βιβλίου του Roberts */ #include #include #include "genlib.h" #include "simpio.h" #define MAX 64 void getValues(double array[], int n); double meanValue(double array[], int n); double StandardDeviation(double array[], int n); main() { double array[MAX]; int numOfValues; while(TRUE) { printf("Posous ari8mous 8a eisagete?: "); /* Εναλλακτικά με κλήση της scanf() */ numOfValues = GetInteger(); if (numOfValues > 0 && numOfValues < MAX) break; else printf("Eisagete enan 8etiko ari8mo metaksy 0 kai %d. ", MAX); } getValues(array,numOfValues); printf("\nMesh timh : %.2f\nTypikh apoklish: %.2f\n", meanValue(array,numOfValues), StandardDeviation(array,numOfValues)); } void getValues(double array[], int n) { int i; for (i = 0; i < n; i++) { printf("Stoixeio no %d ", i); array[i] = GetReal(); } } /* * Τα στοιχεία του πίνακα αποθηκεύονται στις θέσεις 0 έως n - 1 αντί * για τις θέσεις 0 έως n */ double meanValue(double array[], int n) { int i; double result = 0.0; for (i=0; i < n; i++) { result = result + array[i]; } return (result / n); } double StandardDeviation(double array[], int n) { int i; double sum = 0.0; double mean, dif; /* Πρέπει n > 0) */ if (n <= 0) return -1.0; mean = meanValue(array,n); for (i = 0; i < n; i ++) { dif = mean - array[i]; sum = sum + dif * dif; } sum = sum / n; return (sqrt(sum)); }