C++ funktion in Java umschreiben
-
hallo,
ich habe hier folgende C++ funktion gegeben:// The recursive function that finds all solutions. // Returns the number of solutions found. uint Board::solve () { uint i, j, found, cell = findBlank(); if ( cell == 81 ) { // full board (print and backtrack) found = 1; write( std::cout ); } else { // assign content to cell Board A (*this); // duplicate board i = cell / 9; // row number j = cell - 9 * i; // column number found = 0; for ( uint k = 1; k < 10; ++k ) { // try values if ( allows(i, j, k) ) { // in case they are allowed A.T[i][j] = k; found += A.solve(); // if (found != 1) // std::cout <<"found " << i << " " << j << " " << k<<"\n"; } } } return found; }
ich bräuchte diese nun für java,
was ja nicht so schwer wäre, wenn da nicht diese zeile wäre:Board A (*this); // duplicate board
wie sieht sowas in java aus?
Board A = this. erfüllt die aufgabe nicht!
danke danke!
ps: oder wie sieht das in C aus, wenn ich dort Board als struct deriniert habe?
-
hab es selber herausgefunden!
Board B = new Board(); for ( int o = 0; o < 9; ++o ) for ( int p = 0; p < 9; ++p ) B.T[o][p] = T[o][p];
so funkts!
-
Board B = T.clone();
sowas evtl.?
-
nein, clone()
hat auch nicht gefunkt!
-
hares0815 schrieb:
nein, clone()
hat auch nicht gefunkt!Wie auch? Hat doch gar keinen Sender.
Je nach Klasse macht man auch sowas:
Board A = new Board(this);