hallo!
folgendes macht mir gerade kopfzerbrechen:
ich habe ein
int puzzel[9]
das, wie der name schon sagt, ein 9erpuzzel darstellen soll. also eine 3x3 „matrix“ mit den zahlen 1-8 und einer leerstelle und es geht dadrum, dieses puzzel zu sortieren (also dass das array in reihenfolge {1,2,3,4,5,6,7,8,0} darstellt).
dafür lass ich mir per funktion immer die folgearrays (also mit vertauschten zahlen 0 und x) generieren und zurückgeben.
und hier hakt es anscheinend. denn man kann ja arrays nicht einfach kopieren. so sieht das dann etwa aus:
int i,j;
int help[9];
for (i=0; i
und je nach "j" möchte ich dann die nächsten arraykonstellationen generieren. aber es gibt da glaub ich probleme, wenn ich einfach sage:
if (j==0)
{
help[0]=help[1];
help[1]=0;
ret.push\_back(new testNode(help)); // geht in einen vector
help[0]=help[3];
help[3]=0;
ret.push\_back(new testNode(help));
}
irgendwie hat das mit übergabe by referenz bzw. value zu tun, dass die alten werte "überschrieben" werden.
wie kann ich das verhindern? also wie kann ich sozusagen jedesmal auf "einfache weise" ein völlig neues array initzialisieren? ich hab es schon mit mehrfachen arrays [4][9] versucht, aber tut auch nicht so, wie ich will. bei meinem testarray sollte nämlich eigentlich keine lösung zu finden sein (laut meinen prof), aber ich finde was...
jemand ideen und/oder anregungen?
grüßle
Geisterkarle