Vergleichen



  • **Hallo zusammen

    Habe in der Schule folgende Aufgabe erhalten: ein kleines Programm schreiben, wo man max 10 Messwerte einlesen, ausgeben und berechnen kann.
    Mein Programm steht hauptsächlich. habe jetzt noch ein Problem beim vergleichen der Werte.
    Wie schreibe ich die Funktion "ordnen" (ganz am Schluss) welche mir die kleinste, die grösste und alle Zahlen der Grösse nach ausgibt? 😕 😕
    herzlichen Dank für eure Hilfe!**

    #include <iostream.h>
    #include <conio>

    int einlesen(double Werte[], int Groesse);
    void ausgeben(double Werte[], int Anz);
    void Mittelwert(double Werte[], int Zahl);
    void ordnen (double Werte[], int Reihe) ;

    int main()
    {
    double Werte [10]={0};
    int n, a=1, anzahl=0;

    cout <<"Copyright by Roman, 10.11.2005 \n\n" ;

    do
    {
    cout << "Messwertprogramm:\n";
    cout << "-----------------\n";
    cout << "1 Messwerte erfassen\n";
    cout << "2 Messwerte ausgeben\n";
    cout << "3 Durchschnitte berechnen\n";
    cout << "4 Werte sortieren\n";
    cout << "0 beenden\n\n";
    cout << "Ihre Wahl > ";
    cin >> n ;

    clrscr();

    switch (n)
    {
    case 1:

    cout<<"Sie haben Messwerte erfassen gewaehlt\n\n";
    anzahl=einlesen(Werte,10); break;

    case 2:
    cout<<"Sie haben Messwerte ausgeben gewaehlt\n\n";
    ausgeben(Werte,anzahl); break;

    case 3:
    cout<<"Sie haben Durchschnitt berechnen gewaehlt\n\n";
    Mittelwert(Werte,anzahl); break;

    case 4:
    cout<<"Sie haben Messwerte sortieren gewaehlt\n\n";
    ordnen(Werte,anzahl); break;

    case 0:
    cout<<"Sie haben Abbruch gewaehlt" << endl; break;

    default:
    cout << "Fehler";
    }

    }while (a!= 0) ;

    cin.get();
    cin.get();
    return 0;
    }

    int einlesen(double Werte[], int )
    {
    int a=1, c=0 ;
    char b;
    do
    {
    cout << a << ". Wert eingeben: ";
    cin >> Werte[c];
    cout << "Noch einen Wert einlesen?(j/n): ";
    cin >> b;
    cout << "\n\n" ;
    a++;
    c++;
    } while (b=='j');
    return c;
    }

    void ausgeben(double Werte[], int anzahl)
    {
    int n=1;
    for (int i=0; i<anzahl; i++, n++)
    {
    cout << "Der eingegebene Messwert " << n << " betraegt: " << Werte[i] << endl;
    }
    cout << "\n\n\n" ;
    }

    void Mittelwert(double Werte[], int anzahl)
    {
    double sum=0 ;

    for (int i=0; i<anzahl ; i++)
    sum = sum + Werte[i] ; // oder sum += Werte[i];

    double miwe = sum/anzahl ;
    cout << "\n\n" << "Der Durchschnitt betraegt: " << miwe << "\n\n\n\n" ;
    }

    void ordnen (double Werte[], int Reihe )
    {

    }



  • Hallo,
    Hast du überhaupt keine Idee? Sollst du dir selbst einen Algorithmus "ausdenken" oder darfst du was aus der STL nehmen? Falls ersteres der Fall ist und du nicht weißt, wie du dir einen Algo zurechtbasteln sollst, siehe z.B. hier [1] [2]....

    Gruß Caipi



  • Nur mal so: An welcher Schule (Stadt) bist du?

    Gruß



  • Nehmen wir mal an du hast 2 Blätter. Auf dem linken stehen 10 Zahlen untereinander und unsortiert, auf dem rechten Blatt sollst du die Zahlen absteigend geordnet aufschreiben.

    Wie gehst du jetzt ran (von der Denkweise her) damit du die Zahlen sortiert auf das rechte Blatt schreiben kannst (jede Zahl einzeln)? Diese überlegung setzt du dann einfach in C++ Code um und schon hast du deinen ersten Algorithmus entwickelt.


Anmelden zum Antworten