Code: int depth = 0; while(depth != -1){ L[depth].value += L[depth].delta; if(L[depth].value > L[depth].max) { depth--; } if(depth = L.size()-1) { code. } else { depth++ }; } Ich weiß nicht obs geht, aber vielleicht ist es ja ein Gedanklicher anstoß. Vor dem Edit: Da du nicht endlich arbeitest wirst du wohl um Rekursion nicht drum rum kommen. Aber ein andere Gedanke, vielleicht kannst du ja eine weiteres Array einbauen, welches die durchläufe der jeweiligen Tiefe speichert. Nun brauchst du noch eine weitere Variable die die Tiefe angibt. Du durchläufst die Schleife und springst dann in der Tiefe ein weiter, schließlich, nach Vollendung der letzten Schleife wird die Tiefenzeiger wieder um eins gesenkt, dann musst du noch an der richtigen Stelle wieder einsetzen. Weiß nicht ob das so irgendwie machbar ist. Aber mal eine andere Frage, was ist den der Sinn bzw. die Zweckmäsigkeit der Schleifenverschachtelung? Wie das momentan aussieht würdest du einfach nur immer wieder die Schleifen durchlaufen ohne, dass dabei etwas anderes raus kommen würde, bzw. bis auf das der Code X mal ausgeführt wird. Da könntest du es allerdings berechnen, wie oft er sich das reinziehen soll. Was ich nicht weiß ist, wenn du jetzt auf die Variablen zugreifen willst, dann bin ich auch irgendwie ratlos. Rekursion. Kannst ja mit Assembler arbeiten und den Stack selber verwalten. ^^
int depth = 0; while(depth != -1){ L[depth].value += L[depth].delta; if(L[depth].value > L[depth].max) { depth--; } if(depth = L.size()-1) { code. } else { depth++ }; }
Geändert von Desmulator (25.06.2009 um 15:25 Uhr)
Foren-Regeln