Sortieren mit Speichern in verkettete Liste



  • Guten Abend,
    ich hab da ein Ideen Problem, zu allererst beschreibe ich einfach mal die Aufgabe und dann das Problem.
    Ich habe eine vielzahl an Städten(Bundesländer) in einer Datei, die ich erst auslese,jeweils in eine
    Struktur speichere(Name,Breitengrad,Längengrad,Markiert) und dann den Städtenamen in der Console anzeigen lassen.
    Nun soll der Nutzer seine Reiseziele bestimmten, daraus soll nun die kürzteste Route gefunden werden
    (Haben eine Formel zur Berechnung der Entfernung mit den jeweiligen Breitengrad und Längengrad).

    Problem:
    Habe alle markierten Städte in einem Pointer Array zugewiesen,die erste Stadt ist mein Startort,wird als Listen header zugeordet.
    Nun fehlt mir die Sortierung und daran harpert es gewaltig, ich nehme den Startort und den zweiten eingetippten Ort und füge sie der Funktion entfernung()
    an,dieses muss ich auch mit der nächsten und übernächsten machen solange bis mein Pointer-Array keinen Wert hat,
    wie/wo speichere ich die kürzteste Entfernung mit der jeweiligen Stadt damit ich sie in die Liste speichern kann?

    Mit freundlichen Grüßen

    dreas12


  • Mod

    Ich habe das jetzt 3x gelesen und verstehe deinen Beitrag immer noch nicht.



  • ich verstehe auch nur Bahnhof

    ich denke dein wirrer Erklärungssatz soll bedeuten du

    -du gibts eine Start-Stadt und eine Ziel-Stadt an?
    -durchläufst eben irgendwie deine Liste
    -berechnest die Entfernungn ueber alle möglichen Routen von Start zu Ziel

    oder?

    wie/wo speichere ich die kürzteste Entfernung mit der jeweiligen Stadt damit ich sie in die Liste speichern kann?

    auf jeden Fall nicht in der Liste mit den Städten - ist doch nur die Ausgabe deiner Entfernungsberechnung - dir fehlt noch eine Routenliste oder sowas?



  • Das Programm soll folgendes leisten

    • Das Programm liest eine Datei ein, in der die geografischen Koordinaten aller Kundenstandorte – im aktuellen Fall also die 16 Landeshauptstädte – enthalten sind. Das Datenformat ist exakt definiert, so dass Sie später auch andere Städtegruppen (z. B. die europäischen Hauptstädte) verarbeiten könnten.
    • Der Benutzer gibt an, in welcher Stadt die Rundreise starten soll.
    • Der Benutzer gibt in beliebiger Reihenfolge an, welche Städte angeflogen werden sollen.
    • Das Programm informiert über Fehleingaben, der Benutzer kann die Eingabe korrigieren.
    • Ist die Eingabe komplett, berechnet das Programm eine möglichst kurze Route, die die
      gewünschten Städte verbindet.
    • Die Route soll als verkettete Liste realisiert werden, denn das ist das Format, das der Autopilot
      des Flugzeugs braucht.
    • Das Programm gibt das Ergebnis als eine Liste der Etappen auf dem Bildschirm aus:
      Start, Ziel, Strecke, Kurs ,Gesamtstrecke, Anzahl der Etappen.

    Die Streckenabschnitte sollen als verkettete Liste verbunden werden. Jedes Listenelement muss
    folgende Komponenten enthalten: Name der Abflugortes, Flugstrecke, Kurs und natürlich den
    Verkettungspointer.
    Am Schluss haben Sie also die Gesamttour als verkettete Liste der Etappen. Sie lassen den
    Verkettungspointer des letzten Elements (der bei einer linearen NULL ist) auf das Start-Element zeigen
    – dann haben Sie eine geschlossene (ringförmige) Liste, was ja der Rundreise entspricht.


  • Mod

    Das ist eine kopierte Hausaufgabenstellung, keine Frage.


Log in to reply