0 Daumen
436 Aufrufe

Aufgabe:

Gegeben sei ein Array A, welches n paarweise verschiedene reelle Zahlen A[0], A[1], · · · , A[n −
1] enthält. Das größte Element des Arrays soll gefunden und aus dem Array entfernt und die
nachfolgende Einträge um eine Position nach vorne verschoben werden. Der zugehörige Index des
größten Elements (d.h. die Position des Elements in dem Array) ist nicht vorher bekannt.

a) Schreiben Sie einen Algorithmus (als Pseudocode), der das Array A, und die Anzahl n der
Elemente in A als Eingabe erhält und die oben angeführten Operationen beschreibt. Der Algorithmus soll Ihnen das gekürzte Array und die Länge des neuen Arrays zurückgeben.

b) Wie viele elementare Operationen (Vergleiche, Zuweisungen, Zugriffe auf Array-Elemente und
Rechenoperationen) benötigt Ihr Algorithmus maximal?

c) Angenommen, n wäre ungerade: Wie könnten Sie Ihren Algorithmus nutzen, um den Median,
also den zentralen Wert, des Arrays zu bestimmen?

Avatar von

1 Antwort

0 Daumen
 
Beste Antwort

Max := A[0]

PositionZum Entfernen:=0

Wiederhole für k=1 bis n

    Wenn A[k]>A[k-1] dann

              Max:=A[k]
              PositionZum Entfernen:=k


Die vorherige Eingabe wirst du wohl hinbekommen.

Ab Position zum Entfernen bis n-1 wird jedem Element von A sein Nachfolgeelement zugewiesen, anschließend wird das letzte Element gelöscht.

Avatar von 55 k 🚀

Alles klar vielen Dank!

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community