ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
218
218
EMPFEHLEN
-
Hallo Community
ich benötige ganz dringend für ein Projekt eine Rekursion. Ich hoffe Ihr könnt mir weiter helfen!
Zum Problem:
Ich habe ein Array, in dem ich Zellen speichere, die einmal in einem square ihre reihe und spalte haben. Desweiteren haben die squares auch wieder eine bestimmte reihe und spalte, welche die Zellen aber auch als information bekommen sollen. Somit weis jede Zelle zu welchem Square sie gehört, und in diesem, an welcher position sie sich befindet.
Ich habe inmal schon versucht, aber folgender code funktioniert nicht wie ich es will.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
var column=0; var row=0; var riddleSquareColumn=0; var riddleSquareRow=0; var squareVertical=3; var squareHorizontal=3; var cellVertical=10; var cellHorizontal = 10; for(var i=0;i<riddleArray.length;i++) { for(var m=0;m<squareVertical;m++) { for(var l=0;l<squareHorizontal;l++) { for(var j=0; j<cellVertical; j++) { for(var k=0;k<cellHorizontal;k++) { riddleArray[i] = new Cell(column, row, riddleSquareColumn, riddleSquareRow); row++; } row=0; column++; } riddleSquareColumn++; column=0; } riddleSquareRow++; } }
weiterhin eine grafik, die evtl das problem besser verdeutlicht.
vielen dank schon jetzt für eure Hilfe
-
23.09.11 15:21 #2
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
und was willst du jetz mit einer Rekursion ersetzen? Was soll das Ziel sein?
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Hey,
also das Ziel ist, dass die Zellen die ich erstellen will wissen, in welchem Square sie sich befinden (squareRow und squareColumn) und dann auch noch in welcher reihe und spalte in dem square.
Da es ein großes array werden soll, wär es sehr umständlich, das per hand zu schreiben.
hier mal ein beispiel:
array[0] = squareRow=0; squareColumn=0; row=0; column=0;
array[56] = squareRow=0; squareColumn=2; row=1; column=1;
array[113] = squareRow=1; squareColumn=1; row=2; column=3;
array[223] = squareRow=2; squareColumn=2; row=4; column=3;
sozusagen wird ein square mit 25 zellen befüllt, dann kommt das nächste.
ist das verständlich?
gruß
-
26.09.11 10:14 #4
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
also für eine rekursive Lösung kann ich einen Ansatz finden, nur eine vereinfachte Form durch das Auslagern in Methoden:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
/** * Füllt einen Square in dem Feld. * * @param base Der erste Wert in dem Feld (z.B.: 0, 25, 50, 75...) * @param arr Das Array in dem das Feld gespeichert werden soll * @param sqCol Die x-Position des Squares, welches gefüllt wird * @param sqRow Die y-Position des Squares */ private void fillSquare(Cell[] arr, int base, int sqCol, int sqRow) { /* 25 Felder erstellen */ for(int i=0; i<25; i++) { arr[base + i] = new Cell( i%5, /* die Spalte des Feldes in dem Square */ i/5, /* die Zeile des Feldes in dem Square */ sqCol, /* die Spalte des Squares im Bezug auf das Feld */ sqRow /* die Zeile des Squares im Bezug auf das Feld */ ); } } /** * Erstellt das komplette Feld, bestehend aus 3x3 Squares die jeweils * 5x5 Felder groß sind. */ private Cell[] createAll() { /* Das Feld */ Cell[] riddleArray = new Cell[225]; /* 3x3 Squares erstellen */ for(int i=0; i<9; i++) { fillSquare( riddleArray, /* das feld */ i*25, /* der index der erstenn zelle in dem square (0, 25, 50...) */ i%3, /* die spalte in dem square */ i/3 /* die zeile in dem square */ ); } return riddleArray; }
Angabe ohne Gewähr, nicht getestet...
Bitte halte dich an die Netiquette, vorallem Punkt 15.
Edit: Uups, da hab ich mich wohl verlesen, dachte es geht um Java... Hmm, ich lass den Codeschnipsel mal so stehen, vielleicht hilft er dir ja als Denkanstoß
Gruß
BKGeändert von Bratkartoffel (26.09.11 um 10:29 Uhr)
Über eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Vielen Dank erst mal für die Antwort Bratkartoffel, ich weis nur nicht genau, ob man das so in JS umsetzen kann. Ich bin jetzt nicht so der JS-Coder aber werde es auf jedenfall probieren.
Für eventuelle weitere Hilfe wär ich trotzdem dankbar.
Gruß
Ähnliche Themen
-
SCHEME Rekursiver aufruf.
Von Mikrowelle im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 10.01.11, 08:44 -
Probleme mit rekursiver Funktion
Von xtramen01 im Forum PHPAntworten: 1Letzter Beitrag: 16.12.09, 16:25 -
Rechte bei rekursiver Dateisuche
Von max26 im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 19.08.09, 09:36 -
[c++] Problem mit rekursiver Ausgabe
Von Vektor im Forum C/C++Antworten: 4Letzter Beitrag: 20.03.06, 14:27 -
rekursiver funktionsaufruf
Von südpol im Forum PHPAntworten: 1Letzter Beitrag: 20.01.05, 13:29





Zitieren

Login





