standardabweichung

thehasso

Erfahrenes Mitglied
tag,

mal eine Frage zur Standardabweichung.

Die Schleife soll nur 7 mal durchlaufen. Dafür hab ich 7 Umsätze eingeben:
660 GE
893 GE
623 GE
528 GE
809 GE
643 GE
1834 GE

Der Mittelpunkt ist: 856
Standardabweichung = müsste 456 sein habs nachgerechnet und steht in mein Lösungsheft! Ich bekomme aber 369 als Ergebnis, das heisst im Programm läuft etwas falsch.

Code:
#include <stdio.h> 
#include <math.h> 


int main() 

{ 



char monate[12][12] = {"Januar", "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; 
char jahr[12][5] = {"2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007"}; 
double standardabweichung; 
int i; 
int n=6; 
double s=0; 
double umsatz_unternehmen_1[12]; 
double summe_u_1 = 0; 
double mittelwert = 0; 

        for(i=0;i<=n;i++) 
        { 
    
            printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]);  // Eingabe 
            printf("Eingabe:");scanf("%lf",&umsatz_unternehmen_1[i]); 
        
        summe_u_1 = summe_u_1 + umsatz_unternehmen_1[i]; 
        
        mittelwert = summe_u_1 / 7; 

        standardabweichung = pow( umsatz_unternehmen_1[i] -mittelwert,2); // bin mir sicher das hier der Fehler sein müsste. 
        
        s = sqrt(standardabweichung/7); 
        
        } 

        printf("Die Standardabweichung ist: %lf Der Mittelwert %.2lf Summe: %.2lf",s,mittelwert,summe_u_1); 


system("pause"); 
    
}
gruß
 
Hallo,

du musst die Standardabweichung in einer separaten Schleife berechnen, weil du hier:
Code:
standardabweichung = pow( umsatz_unternehmen_1[i] -mittelwert,2);
den Mittelwert von ALLEN Eingabewerten benötigst.
Die letzte Berechnung (Wurzel) sollte dann auch außerhalb der Schleife erfolgen.

Gruß
MCoder
 
Zurück