# standardabweichung



## thehasso (10. April 2008)

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. 


```
#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ß


----------



## MCoder (11. April 2008)

Hallo,

du musst die Standardabweichung in einer separaten Schleife berechnen, weil du hier: 

```
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


----------

