mittelwert



  • Hallo,

    eine frage noch.. und zwar zur Standardabweichung.

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

    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ß



  • 😕



  • An deiner Stelle würde ich separate for-Schleifen für:

    • Einlesen der Daten
    • Mittelwert bestimmen
    • Standardabweichung bestimmen

    Für die Standardabweichung benötigst du den Mittelwert. Schon
    deswegen geht das nicht in einer Schleife.

    Gruß mcr



  • Hallo der compiler hat ne macke glaub ich!!!!!

    jedes mal die Fehlermeldung the variable weiter is not initizialed...

    Er meint die Variable sei nicht installiert!!! Ich hab sie aber installiert!?

    #include <stdlib.h> 
    #include <stdio.h> 
    #include <math.h> 
    #include "conio.h" 
    
    int main()
    
    { 
    
    float standardabweichung; 
    float umsatz_summe_1 = 0;
    float umsatz_summe_2 = 0;
    float mittelwert = 0; 
    float n=11;
    float umsatz_unternehmen_1[12],umsatz_unternehmen_2[12];
    
    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"}; 
    int i; 
    
    char weiter; 
    
    do
    {
    
    printf("\n\tHandelsfirma A & B GmbH\n"); 
    
    printf("Menue:\n"); 
    printf("1: - Umsaetze eingeben\n"); 
    printf("2: - Programm Wiederholen\n"); 
    printf("3: - Ermittlung kleinster Wert\n"); 
    printf("4: - Ermittlung groesster Wert\n"); 
    
    printf( "\nBitte geben Sie die Daten fuer das 1. Unternehmen ein:\n" );
    
            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("%f",&umsatz_unternehmen_1[i]); 
            }
    
    printf( "\nBitte geben Sie die Daten fuer das 2. Unternehmen ein:\n" );
    
            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("%f",&umsatz_unternehmen_2[i]);
    		}
    
    printf("\n--------------------------------------------------------------------------------\n"); 
    printf("\n\n                     Filiale 1                            Filiale 2\n\n");
    printf("\n--------------------------------------------------------------------------------\n"); 
        for (i=0;i<=11;i++) 
        { 
    
            printf("%5i. %10s %10s %10.2f",i+1 ,monate[i],jahr[i],umsatz_unternehmen_1[i]);  //Ausgabe Umsatz, Monat, Jahr 
            printf("%5i. %10s %10s %10.2f",i+1 ,monate[i],jahr[i],umsatz_unternehmen_2[i]);  //Ausgabe Umsatz, Monat, Jahr 
            printf("\n"); 
        }
    printf("\n--------------------------------------------------------------------------------\n"); 
    
    printf("Programm verlassen (j/n)?");
    
    } while(weiter != 'j');
    
    system("pause");
    
    }
    

    Warum???

    gruß hasso



  • hasso schrieb:

    jedes mal die Fehlermeldung the variable weiter is not initizialed...
    Er meint die Variable sei nicht installiert!!! Ich hab sie aber installiert!?

    Wo denn ?



  • Initialisiert, nicht installiert...



  • Du hast vergessen, der Variablen weiter einen Wert zuzuweisen.

    Da müsste noch so etwas wie getchar() rein und das leeren des
    Tastaturpuffer.

    Gruß mcr



  • hasso schrieb:

    Hallo der compiler hat ne macke glaub ich!!!!!

    fiehlmann ?
    ey ich glaub du brauchst ne brille, das sieht doch ein blinder mit hut was da nicht initialisiert ist 🙄



  • ach wirklich schlaumeier habs übersehen kann den besten passieren .. vogel



  • hasso schrieb:

    ach wirklich schlaumeier habs übersehen kann den besten passieren .. vogel

    😞


Anmelden zum Antworten