kann mir jemand bitte mit der Aufgabe helfen.
Aufgabe:
Beschreiben Sie einen Algorithmus min2 in Pseudocode, der den zweitkleinsten Wert zurückgibt, der in einer Liste a[1...n]
von n ≥ 1 Zahlen vorkommt. So soll zum Beispiel min2 [1, 11, 4, 1, 6, 4] den Wert 4 zurückgeben. Wenn alle Zahlen in a gleich sind, es also keinen zweitkleinsten Wert gibt, soll Ihr Algorithmus + ∞ zurückgeben.
+∞ in m1 und m2 speichern.
Über alle x aus der Liste iterieren:
Ergebnis ist m2.
verstehe ich nicht ganz.
meine Idee war
min2 (a[1...n])
for i <-- 1,..,n
if a[ i] = zweitkleinster wert
return zweitkleinster wertelse if a[I] ≠ zweitkleinster wert return + ∞
Welche Fragen hast du zu meinem Pseudocode?
Der Variablen zweitkleinster wert wird nirgendwo ein Wert zugewiesen.
Der Schleifenrumpf wird nur ein einziges mal durchlaufen, weil du im ersten Durchlauf den Algorithmus auf jeden Fall mittels return beendest.
return
Ich weiß nicht wie ich es in einem Code umsetzen soll was du geschrieben hast.
Und wie weise ich der variable ein Wert zu und muss dann Return weglassen und am Ende neben Return + unendlich schreiben?
Lies dir noch mal die Dokumentation zu deiner Variante von Pseudocode durch. Da sollte für jede der fünf Zeilen eine passende Anweisung drin sein.
Und wie weise ich der variable ein Wert zu
Lies dir noch mal die Dokumentation zu deiner Variante von Pseudocode durch. Da sollte stehen, wie einer Variable ein Wert zugewiesen wird.
und muss dann Return weglassen und am Ende neben Return + unendlich schreiben?
Du musst dir erst ein mal darüber Gedanken machen, wie du aus den drei Bestandteilen
das Problem löst, das zweitkleinste Element einer Liste zu finden.
Ein anderes Problem?
Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos