selection sort auf array - "iteration of triangle change"

goerlibe
Mausschubser
Mausschubser
Beiträge: 51
Registriert: 24. Apr 2017 19:22

Re: selection sort auf array - "iteration of triangle change"

Beitrag von goerlibe » 25. Jun 2017 20:51

...

Khaleesi
Neuling
Neuling
Beiträge: 7
Registriert: 15. Jun 2017 17:02

Re: selection sort auf array - "iteration of triangle change"

Beitrag von Khaleesi » 26. Jun 2017 08:58

Push!!

LukasPhysiker
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 111
Registriert: 6. Mai 2017 13:05

Re: selection sort auf array - "iteration of triangle change"

Beitrag von LukasPhysiker » 28. Jun 2017 17:39

Ich hatte am Montag mein zweites Codemonkeys-Testat und diese Aufgabe war bei mir dabei und natürlich war dieser Bug immer noch da, so dass mir da jetzt Punkte für den einen Test fehlen. Ich habe das damals auch dem Betreuer gesagt und er hat gesagt, er wird sich bei den zuständigen Leuten melden. Er fragte mich auch, ob ich das schon jemand gemeldet hatte und ich sage "Ja, es gibt einen Thread im Forum seit 1. Juni, auf den von offizieller Seite bisher keiner reagiert hat." Für mich persönlich war das jetzt nicht so tragisch, da ich anderswo genug Punkte hatte.

Trotzdem: Es sollte sich hier langsam mal jemand melden. Das sind die Authoren der Aufgabe laut Aufgabenstellung: Jan Ratjens, Julian Prommer, Katrin Becker. Das ist das zweite Mal, dass ich euch beim Namen nenne. Ihr drei wollt sicher nicht, dass irgendwann ein potentieller Arbeitgeber euren Namen googelt und diesen Thread findet und dieser nicht damit endet, dass sich einer von euch drei meldet.

Wie gesagt, kann es mir jetzt egal sein, aber ich wollte hier nochmal darauf hinweisen, wie lächerlich das ist, dass dieser Thread schon so lange existiert und von offizieller Seite keiner darauf reagiert hat, so dass in einem Testat, das 25 Tage später war, dieser Fehler immer noch auftrat.

Dadung
Windoof-User
Windoof-User
Beiträge: 29
Registriert: 7. Mai 2017 13:08

Re: selection sort auf array - "iteration of triangle change"

Beitrag von Dadung » 8. Jul 2017 15:19

Ich kann euch zwar nicht erklären, was ich anders gemacht haben soll, aber folgender Code besteht alle Tests:


Code: Alles auswählen

{
   int l = array.length;
    
   while (l > 1){
        int m = 0;
        for (int j = 1; j < l; j++){
            if (array[j].compareTo(array[m]) > 0){
                m = j;
            }
        }
        if (m != (l - 1)){
        Listobject<T> c = array[m];
        array[m] = array[l - 1];
        array[l - 1] = c;
        }
        l--;
    }
    return array;
}

Benutzeravatar
GreenLightning
Neuling
Neuling
Beiträge: 5
Registriert: 20. Apr 2017 16:32

Re: selection sort auf array - "iteration of triangle change"

Beitrag von GreenLightning » 9. Jul 2017 12:05

Hier ist noch eine Version die alle Tests besteht:

Code: Alles auswählen

{
    for (int i = array.length - 1; i > 0; i--) {
        int biggest = 0;
        for (int j = 1; j <= i; j++)
            if (array[j].compareTo(array[biggest]) > 0)
                biggest = j;
        Listobject tmp = array[biggest];
        array[biggest] = array[i];
        array[i] = tmp;
    }
    return array;
}
Wie in der Aufgabe beschrieben soll der sortierte Teil des Arrays von rechts nach links wachsen, deshalb geht die äußere Schleife rückwärts durch das Array. Was nicht in der Aufgabenstellung beschrieben wurde, sind die folgenden beiden Bedingungen. Als erstes muss der unsortierte Teil des Arrays von links nach rechts durchsucht werden. Als zweites muss immer das aktuelle Element mit dem größten Element verglichen werden, nicht andersrum. Es muss also wie oben

Code: Alles auswählen

array[j].compareTo(array[biggest]) > 0
heißen, das semantisch äquivalente

Code: Alles auswählen

array[biggest].compareTo(array[j]) < 0
ist falsch und bringt den letzten Test zum scheitern.

Antworten

Zurück zu „Archiv“