Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » C++ Sprache » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (6): « erste ... « vorherige 4 5 [6] Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C++ Sprache
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das mit dem letzten Index und der Arraygröße hast Du gerade falschrum verstanden:
Beim Anlegen eines neuen Arrays musst Du die Größe angeben. Die ist hier m_numberOfEntries + 1, weil das neue eins größer sein soll, das hat also schon gestimmt gehabt.
Aber beim kopieren des neuen Eintrags an letzter Stelle des neuen Arrays musst Du den letzten Index nehmen. Der ist aber immer genau eins kleiner als die Größe des Arrays (ist doch logisch: Wenn Du 3 "Dinger" in der Hand hast und diese von 0 an durchnummerierst, also dem ersten gibst Du den index 0, dann 1 dann 2, dann ist der höchste Index 2 obwohl Du 3 in der Hand hast).
Wenn Du aber von m_numberOfEntries + 1 wieder 1 abziehst, dann kommt m_numberOfEntries raus (Du brauchst nicht +1 und dann wieder -1 schreiben, das hatte ich nur so gemacht, um zu verdeutlichen, dass ich eigentlich von der Arraygröße eine Eins abgezogen habe, was aber in diesem Fall eben gerade zum alten m_numberOfEntries-Wert führt).

Schlagen könnte ich Dich dafür, dass Du schon wieder m_numberofSize benutzt! Die Variable gibt es hier doch überhaupt gar nicht und hat es auch noch nie gegeben! Sei doch mal etwas konzentriert, ist ja wirklich schlimm... Das hat auch nichts damit zu tun, ob Du Dir schwer tust mit Programmieren oder nicht, sondern ist schlicht Schlamperei!

Schlimm finde ich auch, dass Du immer noch die Zuweisungen falsch herum machst!
Angenommen ich habe zwei int-Variablen a und b, a habe den Wert 1 und b den Wert 2. Welchen Wert haben beide dann nach der Zeile:
a = b;

Die Zeile 34 ist wieder völliger Blödsinn. Du schreibst im Kommentar richtig, was Du machen willst. Da schreibst Du was von neuem Array, wo bitte kommt aber das neue Array in Deiner Anweisung überhaupt auch nur vor??? Das kann doch nicht sein, wenn ich schreibe, ich will was von m_entries ins neue Array kopieren das neue Array überhaupt gar nicht vorkommt. Davon abgesehen ist die Zuweisungsrichtung auch wieder falsch, vermute ich.

Zeile 37 verwendet i. Das ist aber nach dem Schleifendurchlauf auf dem Wert von m_numberOfEntries und der letzte Index ist dann nicht i+1 sonder m_numberOfEntries. Allerdings ist da auch wieder ein neues Problem: Du verwendest die ganze Zeit die Variable i, die ist aber nirgends deklariert. Welchen Typ hat den die Variable überhaupt, das steht ja nirgends.
Dann würde ich außerhalb der for-Schleife i. A. die Indexvariable der for-Schleife i gar nicht mehr verwenden. Eigentlich willst Du ja auf das letzte Element von newEntries zugriefen, das ist aber einfach newEntries[m_numberOfEntries] wie ich schon mehrfach geschrieben habe.

Was ich aber nicht verstehe: Du hast in der Schleife jetzt ein if() mit einem Datumsvergleich eingebaut (beim if fehlt übrigens das i) und schiebst dann auch an der richtigen Stelle den neuen Termin ein. Das machst Du übrigens ab diesem Zeitpunkt dann immer. Du musst Dir irgendwie merken, ob Du entry schon ins neue Array kopiert hast oder nicht! Du darfst entry nur einmal einfügen. Insbesondere darfst Du entry auch nur dann an die letzte Stelle kopieren, wenn Du vorher das noch nicht eingefügt hast. Ich verstehe auch gar nicht, warum wir jetzt mit der einfachen Sache angefangen hatten, dass wir die Sortierung für den Moment mal ignorieren und einfach immer hinten einfügen, aber Du jetzt wieder diese if-Anweisung überhaupt drin hast.
Danach musst Du Dir noch überlegen, was eigentlich mit dem Zielindex des neuen Arrays ist, wenn Du entry schon eingefügt hast. Ich habe das jetzt schon einige Male versucht zu erklären, bringt wohl auch nichts, wenn ich es nochmal versuche...

Gruß
Marco
30.08.2017 14:27 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Victor
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ok ich gebe jetzt einfach auf und fange mit einer neuen Aufgabe an .

Ich glaube das ist noch einfach zu schwer für mich im Moment.

Vielleicht wird es mit der Zeit besser .

Melde mich glaube ich heute noch mit ner neuen Aufgabe großes Grinsen
30.08.2017 14:35
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich denke, Du solltest Dir wirklich zuerst die Grundlagen aneignen, glaube mir, macht viel mehr Sinn!

Gruß
Marco
30.08.2017 14:44 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Seiten (6): « erste ... « vorherige 4 5 [6] Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » C++ Sprache