Pointer Basics - Hilfe gesucht !!

  • Hallo Leute. :shinner:
    Bin neu hier im Forum und ein ziemlicher Grünschnabel in C++.
    Stehe nun vor folgendem Problem:
    Nach dem Starten des Programms und Eingabe von Zahlenwerten, werden die Zahlen in der umgekehrten Reihenfolge ihrer Eingabe ausgegeben. WARUM???
    Vielleicht hat ja der Eine oder Andere Profi kurz für mein Problem Zeit.

    Danke
    Larry


    <SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma">

  • Zitat von Larry

    Nach dem Starten des Programms und Eingabe von Zahlenwerten, werden die Zahlen in der umgekehrten Reihenfolge ihrer Eingabe ausgegeben. WARUM???

    Fettes Statement :-/

    Ich rate mal ins Blaue. Du tust die Daten in eine Verkettete Liste und hängst immer am Anfang rein. Tu statt dessen am Ende anhängen.

    Wenn's das nicht ist, wäre ein Listing gut. die Hellsehen VO hab ich im TUWIS leider noch nicht entdeckt, aber vielleicht hast ja Du da eine URL für mich?

  • Danke für die schnelle Reaktion - habe leider auch so meine Probleme ein Listing hier hereinzubekommen (Schande !) arbeite gerade daran
    Larry

  • Zitat von Larry

    Probleme ein Listing hier hereinzubekommen

    How to paste a listing

    1. Datei in einem Editor aufmachen
    2. gewünschte Textpassage in die Zwischenablage kopieren
    3. Reply / New Topic im Forum machen
    4. Textpassage einfügen
    5. Vorher ein [code], dannach ein [/code]
    6. vor und / oder nach dem code noch zwei oder drei Absätze zur Problembeschreibung.

    Zu wenig Text lässt auf fehlendes Engagement schließen, zu viel langweilt.

  • Wollte es aus dem Word rauskopieren. - Danke für den Hinweis.
    Hier das Listing:
    Ausgabe umgekehrt der Eingabe !?

  • Zitat von Larry

    Wollte es aus dem Word rauskopieren. - Danke für den Hinweis.
    Hier das Listing:

    Und das hast Du selber programmiert?!

    Wenn ja: Bitte nenne die Variablen so, dass man einen Sinn zuordnen kann. zB head, tail, ptr, was weis ich.

    Wenn nein: Schau Dich doch mal im google um, da gibt's einen Haufen tutorials zu verketteten Listen. Such einfach nach "linked list c++"

  • Zunächst mal ein Danke für die Mühe.
    Ja, das Programm ist selbst programmiert und ist nur eine Übung zum Unterricht und dient lediglich der Vorbereitung auf einen bevorstehenden Test (Abendschule). Ziel dieser Übung ist nichts anderes, als die Zahlen in der richtigen Reihenfolge rauszubekommen. Weiß zwar jetzt nicht mehr als vorher - aber werd mich mal im Google schlau machen.
    Danke
    Larry

  • rck: ae ist anfangselement, e ist element und aus ist das letzte :)

    Larry: es ist ja ganz logisch: du weist immer dem neuen element einen zeiger auf das zuletzt erstellte zu. am schluss beginnst du bei aus und gehst den zeigern nach, natürlich gibt er dann alles von hinten nach vorne aus, also zuerst das letzte, dann das davor erstellte usw. um es zu korrigieren, müsstest du dem zuletzt erstellten einen zeiger auf das neue element zuweisen..

    lg michi

  • Zitat von michi204

    rck: ae ist anfangselement, e ist element und aus ist das letzte :)

    Ok, Prüfungsstress und so. Danke für den Hinweis. Wenigstens die Eingangsdiagnose hat gestimmt, sogar ohne Listing *ggg*

    Hmm. Wie wäre es mit einer Funktion "get_last()", die einfach den letzten Pointer rückliefert? Den dann entsprechend ändern.

    Ungetestetes Beispiel:

    el ist eine temporär variable, ae Dein "anfangs Element" :)

  • ae ist dein Anfangselement, ae->z wird anfangs auf NULL gesetzt da es keinen Nachfolger gibt. Waere ja nur logisch dies auf dein neukreiertes Element zeigen zu lassen... also statt...

    etwas in der Art...

    die Ausgabe kann dann in etwa so aussehen...

    Code
    tmp= ae;
    while(tmp) {
      printf("%d", tmp->i);
      tmp = tmp->z;
    }

    Eine primitive Liste mit Grundfunktionen wie get_head/get_tail zu konstruieren (oder in geeigneter Literatur nachzuschlagen/im iNet zu suchen) waer natuerlich auch eine Moeglichkeit.

    No way as the way. No limitation as limitation.

  • Zitat von Larry

    Hättest Du vielleicht einen kurzen Tipp, wie man dies in meinem Fall anstellt?


    Larry: auch wenn dein problem inzwischen schon gelöst ist: es empfiehlt sich, in so einem fall einfach eine skizze (mit kästchen + kleinen pfeilen, die woanders hinzeigen, für zeigervariablen und kästchen mit inhalt für andere variablen) zu machen, dann kommt man meistens ganz leicht drauf.

    lg michi

  • Zitat von Larry

    Wollte es aus dem Word rauskopieren.


    Sag jetzt bitte, daß das nur ein Mißverständnis ist und daß du gar nicht mit Word deine C++ Programme schreibst. Bitte sag es *bettel*

    Dipper dipper dii dipper dii dipper dii duuu

  • Zitat von sauzachn

    Sag jetzt bitte, daß das nur ein Mißverständnis ist und daß du gar nicht mit Word deine C++ Programme schreibst. Bitte sag es *bettel*

    ich schreibe sie auch mit word, du nicht? word ist ja auch ein schreibprogramm, oder? und da kann man die pointer auch gleich grafisch als pfeile einzeichnen. und das ganze dann ganz supa an alle seine freunde per html-email über die integrierte outlook-schnittstelle verschicken. :tongue1:

    lg michi

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!