C Programm unter Unix

Dieses Thema im Forum "C/C++" wurde erstellt von soso, 11.12.2008.

  1. soso

    soso Jungspund

    Dabei seit:
    11.12.2008
    Beiträge:
    11
    Zustimmungen:
    0
    Hallo!

    Wir haben ein Problem mit dem folgenden Programm...
    Der Kopf war uns so gegeben und darf nicht geändert werden...
    Das Programm soll Mittelwert und Varianz eines Beispielarrays berechnen... wir haben schon versucht zu kommentieren...^^ bestimmt zu viel und sinnlos, aber naja...
    Hier mal das Programm...

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


    void statistik (double zahlen[], int laenge, double *mu, double *var)
    {
    double x, y; /* Vereinbarung von x und y als double-Variable */
    int i; /* Vereinbarung von i als int-Variable */
    x = 0; /* der Variablen x wird der Wert 0 zugewiesen */
    for (i = 1; i <= laenge; i++) x = x + zahlen[i - 1];
    /* für die Zahlen i von 1 bis laenge wird */
    /* dem "neuen" x jeweils die Summe vom "alten" x */
    /* und dem (i-1). Element vom Array zahlen zugewiesen. */
    *mu = (1 / laenge) * x; /* dem Objekt auf das der Pointer mu zeigt, wird das Produkt*/
    /* aus x (nach for-Schleife) und 1/laenge zugewiesen */
    y = 0; /* der Variablen y wird der Wert 0 zugewiesen */
    for (i = 1; i <= laenge; i++) y = y + pow(zahlen[i - 1] - *mu, 2);
    /* für die Zahlen i von 1 bis laenge wird dem "neuen" y */
    /* jeweils die Summe vom "alten" y und dem Quadrat aus der Differenz*/
    /* vom (i-1). Element vom Array zahlen und dem Mittelwert *mu zugewiesen. */
    *var = 1 / (laenge - 1) * y; /* dem Objekt auf das der Pointer var zeigt, wird das Produkt*/
    /* aus y (nach for-Schleife) und 1/(laenge-1) zugewiesen */
    }


    int main ()
    {
    double zahlen[4] = {1,7,3,9}; /* den 4 Elementen des Arrays vom Typ double werden die Werte 1,7,3,9 zugewiesen */
    int laenge = 4; /*................*/
    double mittelwert, varianz, *var, *mu;
    /* Vereinbarung von mittelwert und varianz als double-Variable */
    /* Vereinbarung von var und mu als Pointer, die auf double-Variablen zeigen */
    var = &varianz; /* Pointer var wird initialisiert und zeigt auf varianz */
    mu = &mittelwert; /* Pointer mu wird initialisiert und zeigt auf mittelwert */
    statistik (zahlen, laenge, &mittelwert, &varianz);
    /* die Funktion statistik (zahlen, laenge, &mittelwert, &varianz) wird aufgerufen */
    printf (" Der Mittelwert der Zahlen ist %lf.\n Die Varianz ist %lf.\n", mittelwert, varianz);
    /* Ausgabe von mittelwert und varianz */


    Das Programm läuft zwar, aber funktioniert nicht... es gibt immer nur 0 und 0 aus... und wir wissen nicht warum...
    wäre echt nett, wenn uns jemand helfen könnte!! :hilfe2:
    lg
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. hex

    hex Lebende Foren Legende
    Moderator

    Dabei seit:
    10.12.2003
    Beiträge:
    1.775
    Zustimmungen:
    0
    Ort:
    Stuttgart
    Bitte CODE Tags verwenden. :-)

    mfg
     
  4. kato

    kato Grünschnabel

    Dabei seit:
    13.10.2008
    Beiträge:
    2
    Zustimmungen:
    0
    Ihr solltet die Terme zusammenfassen, und zwar so:
    Code:
    *mu = (x / laenge);
    *var = y / (laenge - 1); 
    Dann sollte es gehen...
     
  5. soso

    soso Jungspund

    Dabei seit:
    11.12.2008
    Beiträge:
    11
    Zustimmungen:
    0
    Funktioniert jetzt!!! :bounce:
    Vielen vielen Dank!!!
    Und frohe Weihnachten...
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

C Programm unter Unix

Die Seite wird geladen...

C Programm unter Unix - Ähnliche Themen

  1. Gibt es ein Programm unter Linux gleichzeitig für Kyptographie und Steganographie???

    Gibt es ein Programm unter Linux gleichzeitig für Kyptographie und Steganographie???: Gibt es ein Programm zu Linux mit Kryptographie und dazu noch Steganographie machen kann?
  2. Programm (manuell) starten unter NetBSD

    Programm (manuell) starten unter NetBSD: Hallo, wie starte ich ein Programm unter NetBSD manuell? Bei Ubuntu geht das ja mit /etc/init.d/<programm> start. Das äquivalent dazu bei...
  3. PCI-Programmierung unter Unix

    PCI-Programmierung unter Unix: Wer befasst sich damit? Ich würde mich diesbezüglich gerne weiterbilden und suche nach einer geeigneten Testplattform.
  4. Programme unter WINE

    Programme unter WINE: Hallo, ich bin neu hier im Forum und Umsteiger von Windows auf Suse-Linux. Nun zu meiner Frage und Problem. Ich habe unter Suse 11.1 (KDE 3.5...
  5. Programmierung unter Linux

    Programmierung unter Linux: Hallo, Meine "Baustelle": Meine Homepage Mein Ziel: Eine Webseite mit interaktiven Kontaktmöglichkeiten (letztlich "nur" als Mittel zum...