Programmieraufgaben Nabla ?

Bei Postings zu Algorithmus X lassen Sie Ihren Betreff bitte mit
"X: " beginnen, bei allgemeinen Postings zu Nabla bitte mit "Nabla: ", jeweils gefolgt von einer möglichst präzisen Überschrift, danke!

Moderator: Algorithmen und Datenstrukturen

Forumsregeln
Bei Postings zu Algorithmus X lassen Sie Ihren Betreff bitte mit
"X: " beginnen, bei allgemeinen Postings zu Nabla bitte mit "Nabla: ", jeweils gefolgt von einer möglichst präzisen Überschrift, danke!
Hallo
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 162
Registriert: 22. Apr 2015 19:03

Programmieraufgaben Nabla ?

Beitrag von Hallo » 21. Aug 2016 19:04

Ich finde die Aufgaben nicht, und Nabla will mich nicht einloggen lassen.. :( :|

Hallo
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 162
Registriert: 22. Apr 2015 19:03

Re: Programmieraufgaben Nabla ?

Beitrag von Hallo » 21. Aug 2016 19:41

ERROR Framework already finished ?
Was bedeutet das ? Ich kann meine Lösung nicht abschicken...

Alby407
Mausschubser
Mausschubser
Beiträge: 64
Registriert: 19. Jul 2014 15:40

Re: Programmieraufgaben Nabla ?

Beitrag von Alby407 » 21. Aug 2016 21:35

Versuch die Aufgabe mal neu aufzurufen. Bei mir kam das auch ab und zu.
Laufen bei dir alle Tests durch? Die Meldung kommt auch, wenn man bspw. 10 von 11 Tests bestanden hat.

LG

Hallo
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 162
Registriert: 22. Apr 2015 19:03

Re: Programmieraufgaben Nabla ?

Beitrag von Hallo » 22. Aug 2016 15:26

Also bei mir sind die Programmieraufgaben jetzt komplett down.

Hallo
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 162
Registriert: 22. Apr 2015 19:03

Re: Programmieraufgaben Nabla ?

Beitrag von Hallo » 22. Aug 2016 15:30

Error 500 :| :|

Alby407
Mausschubser
Mausschubser
Beiträge: 64
Registriert: 19. Jul 2014 15:40

Re: Programmieraufgaben Nabla ?

Beitrag von Alby407 » 22. Aug 2016 16:02

Vielleicht spielen die Entwickler gerade bugfixes ein :|

joerg
Erstie
Erstie
Beiträge: 14
Registriert: 21. Sep 2015 19:15

Re: Programmieraufgaben Nabla ?

Beitrag von joerg » 23. Aug 2016 10:54

Hat schon jemand linear search gemacht? Bei mir laufen 6 von 14 Tests. Die gesuchten Elemente werden alle nicht gefunden und die for Schleife läuft auch zu lange. Bin die Sache angegangen wie ein normales Array.
Wie sieht der Vergleich mittels Comparator aus? So:

Code: Alles auswählen

  if (getComp().compare(list.getListElem(i),elem.getElem())== 0) {
            return i;
            }
        
Der Header sieht übrigens so aus: public int linearSearch()
Fehlen da nicht Parameter? Nachtragen kann ich die jedenfalls nicht.

Und wird es Lösungen zu den Aufgaben geben?

Hallo
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 162
Registriert: 22. Apr 2015 19:03

Re: Programmieraufgaben Nabla ?

Beitrag von Hallo » 23. Aug 2016 14:40

Über die Lösungen würde ich mich auch freuen, bei mir laufen gar keine Tests durch, obwohl ich mir rechst sicher bin das mein code funktionieren sollten..

Alby407
Mausschubser
Mausschubser
Beiträge: 64
Registriert: 19. Jul 2014 15:40

Re: Programmieraufgaben Nabla ?

Beitrag von Alby407 » 23. Aug 2016 16:59

Ihr vergesst einige Fälle abzudecken. Es gibt ja noch Fälle, in denen die Liste möglicherweise leer ist, oder Elemente eine Null-Referenz haben. :)

Beachtet unbedingt die Randbedingungen (Sowohl das zu suchende Element kann null sein, als auch ein Listenelement)

Bei mir ist lediglich das Problem, dass 2 von 14 Tests zu lange brauchen. Sie überschreiten die 2000ms Grenze :|

Hallo
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 162
Registriert: 22. Apr 2015 19:03

Re: Programmieraufgaben Nabla ?

Beitrag von Hallo » 23. Aug 2016 19:12

Hi,
Ich kriege gerade den Fehler, dass die Variable max sowie secMax
might not have been initialized
Dieser Fehler kommt bei der for-Schleife vor.

Code: Alles auswählen

{    
    T max;
    T secMax;
    if(getListLength() < 2) {return -1;}

    T first = getListElem(0);
    T second = getListElem(1);
    
    if(getComp().compare(first, second) > 0) {
        max = first;
        secMax = second;
        setLargest(0);
        setSecLargest(1);
    }
    else if(getComp().compare(first, second) < 0){
         max = second;
         secMax = first;
         setLargest(1);
         setSecLargest(0);
    }
    else {
        for(int i=2; i< getListLength(); i++) {
            T elem = getListElem(i);
            if(elem == null){continue ; }
            else { 
                if(getComp().compare(elem, max) > 0){
                    secMax = max;
                    setSecLargest(getSecLargest());
                    max = elem;
                    setLargest(getLargest());
            
                
            }
            if(getComp().compare(elem, secMax) > 0){
                    secMax = elem;
                    setSecLargest(getSecLargest());
                    
            }
            }
            }
            
    }
    return getSecLargest();
}

Alby407
Mausschubser
Mausschubser
Beiträge: 64
Registriert: 19. Jul 2014 15:40

Re: Programmieraufgaben Nabla ?

Beitrag von Alby407 » 23. Aug 2016 19:24

Du darfst die Schleife nicht in den else-Teil packen, da max und secMax sonst nicht initialisiert werden. Der else-Kopf muss weg.

Hallo
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 162
Registriert: 22. Apr 2015 19:03

Re: Programmieraufgaben Nabla ?

Beitrag von Hallo » 23. Aug 2016 19:42

So sieht mein Code jetzt aus, der Fehler kommt aber immer noch vor :/

Code: Alles auswählen

{    
    T max;
    T secMax;
    
    if(getListLength() < 2) {return -1;}

    T first = getListElem(0);
    T second = getListElem(1);
    
    if(getComp().compare(first, second) > 0) {
        max = first;
        secMax = second;
        setLargest(0);
        setSecLargest(1);
    }
    if(getComp().compare(first, second) < 0){
         max = second;
         secMax = first;
         setLargest(1);
         setSecLargest(0);
    }
  
        for(int i=2; i< getListLength(); i++) {
            T elem = getListElem(i);
            if(elem == null){continue ; }
          
                if(getComp().compare(elem, max) > 0){
                    secMax = max;
                    setSecLargest(getSecLargest());
                    max = elem;
                    setLargest(getLargest());
            
                
            }
           else if (getComp().compare(elem, secMax) > 0){
                    secMax = elem;
                    setSecLargest(getSecLargest());
                    
            
            }
            
            
    }
    return getSecLargest();
}

Hallo
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 162
Registriert: 22. Apr 2015 19:03

Re: Programmieraufgaben Nabla ?

Beitrag von Hallo » 23. Aug 2016 22:25

Problem war max uns secMax mussten gleich null initialisiert werden.

joerg
Erstie
Erstie
Beiträge: 14
Registriert: 21. Sep 2015 19:15

Re: Programmieraufgaben Nabla ?

Beitrag von joerg » 24. Aug 2016 09:22

Wie greift man in der Aufgabe "insert" auf das "Listobject<T>[] array" zu? Es wird im Header nicht übergeben und get Methoden gibt es auch nicht.
Testweise "return array;" bringt auch nur Fehler.

Antworten

Zurück zu „AuD: Arbeit mit Nabla“