#include #include /* Prototypen: *******************************/ void eingabe(double[], int); void ausgabe(double[], int); double maximum(double[], int); double minimum(double[], int); double summe (double[], int); double mittelwert(double[], int n); double varianz(double[], int); void sort (double[], int); void main() { double *x, max, min, mw, st; int n, i; // Eingabe printf("Wieviele Messwerte wollen Sie eingeben? "); scanf("%d", &n); x = malloc(sizeof(double) * n); if (x == NULL) { printf("Speicheranforderung fehlgeschlagen. Programmabbruch."); exit(1); } eingabe(x, n); // Ausgabe printf("\nUnsortierte Ausgabe der eingelesenen Werte:\n"); ausgabe(x, n); // Minimum und Maximum max = maximum(x, n); min = minimum(x, n); printf("\nMaximum = %g\nMinimum = %g\n", max, min); // Mittelwert printf("\nMittelwert = %g", mittelwert(x, n)); // Varianz printf("\n\nVarianz = %g", varianz(x, n)); // Sortierung sort(x, n); printf("\n\nSortierte Ausgabe der Messwerte:\n"); ausgabe(x, n); free (x); printf("\n"); } /*****************************************************************/ void eingabe(double x[], int anz) { for (int i = 0; i < anz; i++) { printf("%i.Wert = ", i + 1); scanf("%lf", &x[i]); } } /*****************************************************************/ void ausgabe(double x[], int n) { int i; for (i = 0; i < n; i = i + 1) printf("%i. Wert = %g\n", i + 1, x[i]); } /*****************************************************************/ double maximum(double x[], int n) { int i; double max; max = x[0]; for (i = 1; i < n; i = i + 1) if (x[i] > max) max = x[i]; return max; } /*****************************************************************/ double minimum(double x[], int n) { int i; double min; min = x[0]; for (i = 1; i < n; i = i + 1) if (x[i] < min) min = x[i]; return min; } /*****************************************************************/ double summe(double x[], int n) { int i; double s = 0; for (i = 0; i < n; i = i + 1) s = s + x[i]; return s; } /*****************************************************************/ double mittelwert(double x[], int n) { return summe(x, n) / n; } /*****************************************************************/ double varianz(double x[], int n) { double vari, y[n]; for (int i = 0; i < n; i++) y[i] = (x[i] - mittelwert(x, n)) * (x[i] - mittelwert(x,n)); vari = summe(y, n) / (n - 1); return vari; } /*****************************************************************/ void sort(double x[], int n) { int i , j , imin; double min; for (j = 0; j < n - 1; j = j + 1) { min = x[j]; imin = j; for (i = j + 1; i < n; i = i + 1) if (x[i] < min) { min = x[i]; imin = i; } x[imin] = x[j]; x[j] = min; } }