title image


Smiley Re: Was ist da so schwer
Mein neuer Code funktioniert nicht! Ich weiss nicht warum!



In diesem c++ - Programm, was ja wohl funktionieren wird, da wird in der For-Schleife das Kommando "continue" verwendet! Was passiert hier eigentlich genau?

Das Herz des Programme ist zweifellos :





bool nextone(int feld[9][9], int x, int y)

{

if (y == 9) { y = 0; x++; };

if (x == 9) return true;



if (feld[x][y] > 0)

{

if (!isfine(feld, x, y)) return false;

return nextone(feld, x, y + 1);

}

else for (feld[x][y] = 1; feld[x][y] <= 9; feld[x][y]++)

{

if (!isfine(feld, x, y)) continue;

if (nextone(feld, x, y + 1)) return true;

}

feld[x][y] = 0;

return false;

};





Ich bin am Verzweifeln!

Meine Umsetzung in VB (welche nicht funktioniert)ist derzeit:



Function nextone(feld, x, y As Integer) As Boolean

nextone = False

If y > 9 Then

y = 1

x = x + 1

End If

If x > 9 Then

nextone = True

Else



If feld(x, y) > 0 Then 'schon belegt, dann

If isfine(feld, x, y) Then 'Belegung ok, dann

nextone = nextone(feld, x, y + 1)

End If

Else 'wenn noch nicht belegt, dann

feld(x, y) = 1

nx = True

While feld(x, y) < 10 And nx

If isfine(feld, x, y) Then

Cells(x + z0, y + s0) = feld(x, y)

If nextone(feld, x, y + 1) Then

nx = False 'komisch nur, dass das Programm hier nie durchläuft!

nextone = True 'hiernach muß die Funktion verlassen werden!

End If

Else

feld(x, y) = feld(x, y) + 1

nx = True

End If

Wend

End If

End If

If Not nextone Then

feld(x, y) = 0

End If

End Function















geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: