Hilfe bei Programmierung



  • Hallo,

    vielleicht kann einer mal kurz unter folgendem Link seine Augen drauf werfen und mir ein Tipp geben wie ich anfangen muss.
    Hab schon mit allen Unterlagen die ich hab rumgetüftelt, aber ich bekomm gar keinen Anfang zu stande.

    http://www.tu-chemnitz.de/informatik/friz/Grundl-Inf/Beleg/texte/beleg306.html



  • Ist doch ne einfache verkettete Liste ... wo ist da jetzt das Problem?



  • Einfach? Nu versetzt Du mir aber einen gewaltigen Schock.
    Ich hab gar keine Ahung wie ich anfangen muss.
    grundwissen von Feldern und Zeigern hab ich aber das wars auch schon.



  • Mr Planlos schrieb:

    Einfach? Nu versetzt Du mir aber einen gewaltigen Schock.
    Ich hab gar keine Ahung wie ich anfangen muss.
    grundwissen von Feldern und Zeigern hab ich aber das wars auch schon.

    Na ja, wenn man mal ein paar Jahre programmiert hat sind Programmier-Anfaengeruebungen immer einfach 😉 Lass dich dadurch nicht entmutigen, aller Anfang ist schwer, das war bei den meisten hier nicht anders 🙂

    Wenn du Grundwissen zu Zeiger (und Strukturen) hast, solltest du die Aufgabe schaffen. Du musst (in der Funktion "generate") vom Benutzer einen String einlesen, und dann diesen char fuer char in eine verkettete Liste einfuegen. Welcher dieser beiden Schritte bereitet dir Probleme und warum?



  • Hallo,
    danke für Deine Antwort.
    Wir hatten einmal eine Übungsaufgabe, in der eine Liste vom Benutzer eingelesen wurde und die dann ausgegeben und einzelne Zahlen gelöscht oder eingefügt und so, also das denk ich wird kein Problem sein. Aber das Funktioniert nur mit Zahlen und ich hab keine Ahnung was was darin bedeutet.
    Nur weis ich nicht wie ich die Wertrückgabe von generate realisiere.

    Die Funktion analyse denk ich bekomm ich auch hin.

    Wie würdest Du diesen String, also die Liste denn aufbauen?



  • Es gibt in C++ mehrere Moeglichkeiten, Strings vom Benutzer abzufragen. D.h. du musst selber nachschauen, welche Moeglichkeit der Prof. euch gezeigt hat/von euch sehen will. Aber mal angenommen du hast vom Benutzer den String "benutzereingabe" eingelesen, gehst du in etwa wie folgt vor:

    fuer jedes Zeichen in benutzereingabe:
        erstelle neues "zeichen"-struct
        setze zeichen.c auf das aktuelle Zeichen
        haenge das "zeichen"-struct an den Rest der Liste an
    

    Wie genau du das jetzt machst, moecht ich dir nicht verraten, da geht naemlich der ganze Lerneffekt drauf 😉 Wenn du weitere Hilfe brauchst, dann meld dich. Aber bitte nicht mit Fragen der Art "Bitte zeig mir, wie genau der Code fuer diesen-und-jenen Schritt geht", sondern eher mit "ich hab dieses und jenes versucht/gedacht, aber es funktioniert nicht so wie ich geplant hatte, warum nicht?"



  • Natürlich wärs blöd wenn ich die Antworten vorbekommen würde, das hilft mir ja für die Pürfung nicht.
    Zum Anfang der main-Funktion steht in einer seiner Beispielaufgabe dies hier:

    item *pAnchor;
      item *pLast;
      item *pNew;
      item *pDelete;
      item *pInsert;
    

    Was macht das denn und was bedeutet es? Sonst steht da doch immer zeug wie int a,b;



  • Das deklariert ein paar Variablen vom Typ "Zeiger auf item". Wofuer die gebraucht werden sollte aus dem Rest des Codes klar werden.



  • Ja, das ist klar, aber für was steht denn item. Ich find nur was zu int, char, void, usw.

    Mit char kann man ja auch die Eingabe von Buchstaben speichern, aber wie lässt sich dann die Liste abbrechen?
    Bei integer kann man ja einfach festlegen für alles ungleich -1 wird die liste fortgesetzt. Sobald ich die variable zu char änder geht das nicht mehr.



  • Mr Planlos schrieb:

    Mit char kann man ja auch die Eingabe von Buchstaben speichern, aber wie lässt sich dann die Liste abbrechen?

    Schau dir doch einfach das Beispiel an. Ein zeichen besteht aus einem char und einem Zeiger auf ...


Anmelden zum Antworten