AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Neuer Titel, Altes Prob: Mein Binärbaum
Thema durchsuchen
Ansicht
Themen-Optionen

Neuer Titel, Altes Prob: Mein Binärbaum

Ein Thema von Feechan · begonnen am 15. Feb 2005 · letzter Beitrag vom 15. Feb 2005
Antwort Antwort
Seite 2 von 3     12 3      
Feechan

Registriert seit: 15. Feb 2005
17 Beiträge
 
#11

Re: Neuer Titel, Altes Prob: Mein Binärbaum

  Alt 15. Feb 2005, 20:48
hey, danke!
Wie geht das? dann mach ich es selbst ^^
Fee
P.S.:Schon jemand was entdeckt? ich krieg noch die krise und mein info lehrer ist alles andere als hilfsbereit.... den kann ich nicht fragen
Meine Klassen ignorieren sich gegenseitig, ich weiß auch nicht weiter...
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: HILFE! Dringed, warum geht das so nicht?

  Alt 15. Feb 2005, 20:51
Zitat von Feechan:
ich weiß ist net viel aber unter insertleft wollt ich dann Tbintree.root benutzen, findet der aber net.....
Das kann Delphi nicht finden, da root im TBinTree deklariert ist, die Prozedur, in der du darauf zugreifst aber zu TBinTreeNode gehört.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Feechan

Registriert seit: 15. Feb 2005
17 Beiträge
 
#13

Re: Neuer Titel, Altes Prob: Mein Binärbaum

  Alt 15. Feb 2005, 20:54
ja ich weiß aber wie soll ich das sonst machen?
Die deklarationen hat mein info-lehrer vorgegeben, hat der sich vertan oder geht das?
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Neuer Titel, Altes Prob: Mein Binärbaum

  Alt 15. Feb 2005, 20:59
Zitat von Feechan:
ja ich weiß aber wie soll ich das sonst machen?
Die deklarationen hat mein info-lehrer vorgegeben, hat der sich vertan oder geht das?
Vielleicht geht das. Aber ich würde - wenn ich die freie Wahl hätte- das anders lösen.
Man könnte die Deklaration so ändern:
Delphi-Quellcode:
type PBinTree = ^TBinTree;
     TBinTree = record
                 left, right: PBinTree;
                 value: string;
     end;
Demzufolge würde ich die Funktionen für Einfügen usw. seperat schreiben, ohne Klassen zu verwenden. Dann kann man rekursiv auf dem Baum traversieren. Ist meines Erachtens nach einfacher zu implementieren, wenn auch nicht so schön wie mit Klassen.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Feechan

Registriert seit: 15. Feb 2005
17 Beiträge
 
#15

Re: Neuer Titel, Altes Prob: Mein Binärbaum

  Alt 15. Feb 2005, 21:04
Ja das ist das Prob, ich hab keine wahl.
sonst geht das nicht? das was du geschreiben hast, hatten wir noch nicht
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Neuer Titel, Altes Prob: Mein Binärbaum

  Alt 15. Feb 2005, 21:09
Tja, wenn das so vorgegeben ist, und du unbedingt im TBinTreeNode auf TBinTree.root zugreifen willst, dann kann man das über einen Zeiger lösen. Dazu übergibst du der Prozedur als zusätzlichen Parameter noch einen Pointer auf TBinTree. Somit kannst du auch darauf zugreifen.
(Was besseres fällt mir im Moment nicht ein.)
[Edit]
Oder darf man die Prozeduren auch nicht ändern?
[/Edit]
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Feechan

Registriert seit: 15. Feb 2005
17 Beiträge
 
#17

Re: Neuer Titel, Altes Prob: Mein Binärbaum

  Alt 15. Feb 2005, 21:13
meinst du damit, ich soll in der prozedur noch eine variable vom typ TBintreenode (var wurzel:Tbintreenode) deklarieren und dann bsp: Wurzel:=root?
oder wurzel:=tbintree.root?
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#18

Re: Neuer Titel, Altes Prob: Mein Binärbaum

  Alt 15. Feb 2005, 21:14
ach was, VERGISS es!! Fang bloß nicht mit type PBinTreeNode = ^TBinTreeNode an, dein ansatz ist viel besser.

Problem ist dies:

if neuerknoten.value=tbintree.root.value then begin was ist denn TBinTree? Eine Klasse. Also keine Instanz.

Der Inhalt von InsertLeft könnte wie folgt aussehen:

  Left := L; fertig, warum willst du irgendwas mit Root prüfen? Wozu braucht die Node überhaupt ein Wissen über die Root?
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: Neuer Titel, Altes Prob: Mein Binärbaum

  Alt 15. Feb 2005, 21:16
Zitat von Feechan:
meinst du damit, ich soll in der prozedur noch eine variable vom typ TBintreenode (var wurzel:Tbintreenode) deklarieren und dann bsp: Wurzel:=root?
oder wurzel:=tbintree.root?
Eigentlich von Typ TBinTree (denn dort ist ja root). Also etwa so:
Delphi-Quellcode:
procedure tbintreenode.insertLeft(l:tbintreenode; var Tree: TBinTree);
var neuerknoten,tl:tbintreenode;
begin
neuerknoten:=l;

if neuerknoten.value=tree.root.value then begin

end;
end;
Das müsste dann funktionieren. Tree muss natürlich der zugehörige TBinTree sein.
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Feechan

Registriert seit: 15. Feb 2005
17 Beiträge
 
#20

Re: Neuer Titel, Altes Prob: Mein Binärbaum

  Alt 15. Feb 2005, 21:18
Jo danke ich probiers mal aus!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz