Toon posts:

DELPHI - Queue - adresserings probleem?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey eindelijk heb ik zelf echt een vraag.. dus laat ik deze kans niet voorbij gaan om jullie brain ook eens ff lekker te pijndigen ...
De bedoeling is een programma die de zogenaamde "happy Cube" :?
hieronder 2 methodes... de 1e is het belangrijkste.. het is de bedoeling dat de 5 overgeblevens stukjes op alle 8 mogelijkheden worden geprobeerd...

de 1e 8 gaan helemaal super.. maar daarna krijg ik ipv een mooie array een adres terug ofzo het is iig een enorme trash bende ... wat ik dus denk ik dat door de recursie mijn Queue of List dus danig naar zijn grootje gaat dat het niet meer om aan te zien is... ( ik weet omschrijving is vaag .. maareh .. probleem ook)
procedure TWirrelWarrel.BaseConnect(Array1 : TMyArray; kant1,

kant2, stap : Integer; MyQueue: TQueue);

var

firstArray : TSmallArray;

Array2 : TMyArray;

p : ^TMyArray;

i,j,q,max : integer;

begin

firstArray := GetSide(Array1,kant1);

max := MyQueue.Count;


for q := 1 to max do

begin

p := MyQueue.peek;

Array2 := p^;

List.add(@Array2);

MyQueue.pop;


for i := 1 to 4 do

begin

Array2 := RotateArray(Array2);

if(stap = 1) then

begin

ListBox1.Items.Add(ArrayToString(Array2));

end;


if((CheckConnection(firstArray, GetSide(Array2,(kant2)))) = true) then

begin

Logistiek(MyQueue, (stap + 1));

end;

end;


Array2 := MirrorArray(Array2);


for j := 1 to 4 do

begin

Array2 := RotateArray(Array2);


if(stap = 1) then

begin

ListBox1.Items.Add(ArrayToString(Array2));

end;


if((CheckConnection(firstArray, GetSide(Array2,(kant2)))) = true) then

begin

Logistiek(MyQueue, (stap + 1));

end;

end;

MyQueue.push(List.Extract(List.Last));

end;

end;


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

procedure TWirrelWarrel.Logistiek(MyQueue: TQueue; stap : Integer);

var

Array1, Array2, Array3 : TMyArray;

p : ^TMyArray;

begin

if(stap < 13) then

begin

case stap of

1 : begin

// AB/BA

p := List.Items[0];

Array1 := p^;

BaseConnect(Array1,4,2,stap,MyQueue);

end;

2 : begin

// AC/CA

p := List.Items[0];

Array1 := p^;

BaseConnect(Array1,3,1,stap,MyQueue);

end;

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-08 09:55

Creepy

Tactical Espionage Splatterer

Zou je misschien code tags willn gebruiken i.p.v. quote? Dat scheelt alvast een stuk.

Kijk zelf eens m.b.v. De F7 of F8 knop wanneer er mis gaat. Zomaar een stuk code neerplempen en verwachten dat een ander voor je gaat debuggen.. tja.. ik doe het niet voor je. En ik denk de meesten niet..

Ik zie trouwens dat je functies gebruikt die hier niet staan beschreven. Weet je zeker dat het daar niet in mis gaat? En waarom gebruik je eigenlijk pointers?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Ik gebruik pointers omdat ik dynamische array's wil returnen...
tevens wist ik niet wat ik naar *Quote* kon doen...

Maar ben er eindelijk uit ... na x aantal dagen kwam ik er achter dat ik niet list.add(@arrayA) maar juist p moest returnen..

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-08 09:55

Creepy

Tactical Espionage Splatterer

Ik blijf het grappig vinden dat er mensen zijn die dagen aan het zoeken zijn, en na een post opGoT binnen een half uur zelf de oplossing vinden ;)

Ow.. dat van de code tags staat volgens mij in de P&W FAQ :X

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
als ik dat had geweten dat had topic er al dagen geleden op gestaan :S ... Misschien een kwestie van ff een refresh ... alles op een rijtje zetten en dan een helder moment???