tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1144
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jonathan_F Jonathan_F ist offline Grünschnabel
    Registriert seit
    Jul 2011
    Beiträge
    2
    Hallo Leute!

    Ich habe eine verkettete List mit einer bestimmen Anzahl an Studenten. Diese haben einen Namen und eine Note. Ich möchte eine Methode getBestGrade() schreiben, die alle Studentennoten vergleicht und die beste (niedrigste) zurückgibt.

    Dazu mein Quellcode:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
     
    public double getBestGrade() {
            //Liste durchlaufen, dazu Start setzen
            Student aktuell = head;
            //Notenvariable initialisieren
            double grade = 0.0;
            //Darauffolgenden Studenten initialisieren
            Student vergleich = aktuell.getNext();
            
            //Alle Noten vergleichen, dazu Liste durchlaufen
            while(aktuell.getNext() != null){
                //Note des aktuellen Studenten auslesen
                grade = aktuell.getGrade();
                
                if(grade > vergleich.getGrade()){
                    grade = vergleich.getGrade();
                }
                //nächsten Studenten wählen
                aktuell = aktuell.getNext();
            }
            return grade;
        }

    Das Ganze funktioniert bei mir allerdings nicht und ich komm einfach nicht auf die richtige Lösung. Vielleicht kann mir einer von euch helfen?

    Grüße

    Jonathan
     

  2. #2
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hallo,

    dein Vorgehen ist nicht ganz korrekt.
    Du solltest die Variable grade vor der Schleife auf die Note des aktuellen Studenten setzen. Also grob gesagt, wird angenommen, dass die erste Note die beste Note ist.

    In der Schleife vergleichst du dann die Note in der Variablen grade mit der Note des nächsten Studenten. Hat dieser eine bessere Note setzt du grade auf die neue Note.

    Also es ist eigentlich das typische Verfahren um den niedrigsten Wert einer Liste/Arrays zu bekommen. Genau so macht man es auch, wenn man den größten Wert haben möchte.

    Gruß

    Sascha
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  3. #3
    Jonathan_F Jonathan_F ist offline Grünschnabel
    Registriert seit
    Jul 2011
    Beiträge
    2
    Danke, funktioniert super, die Herangehensweise ist auch recht logisch :-D
     

Ähnliche Themen

  1. Verkettete Liste
    Von Studentin2009 im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 08.03.10, 16:07
  2. Verkettete Liste in C
    Von miniME im Forum C/C++
    Antworten: 10
    Letzter Beitrag: 24.02.10, 09:50
  3. verkettete Liste
    Von neuling5 im Forum VisualStudio & MFC
    Antworten: 5
    Letzter Beitrag: 24.05.07, 11:45
  4. Verkettete Liste
    Von Bastih84 im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 30.08.05, 20:46
  5. verkettete Liste
    Von rapier im Forum PHP
    Antworten: 0
    Letzter Beitrag: 13.01.05, 16:37