9 개의 상자에 스도쿠 격자를 그룹화하려고합니다. 열과 행을 배열했지만 상자 배열을 코딩하는 효율적인 방법을 생각할 수 없습니다. 내가 찾고 있어요 의사는 이것이다 :이 psudocode 블록을 루프로 최적화하는 방법은 무엇입니까?
add rowArray0 entries 0,1,2 to boxArray0
add rowArray1 entries 0,1,2 to boxArray0
add rowArray2 entries 0,1,2 to boxArray0
add rowArray0 entries 3,4,5 to boxArray1
add rowArray1 entries 3,4,5 to boxArray1
add rowArray2 entries 3,4,5 to boxArray1
add rowArray0 entries 6,7,8 to boxArray2
add rowArray1 entries 6,7,8 to boxArray2
add rowArray2 entries 6,7,8 to boxArray2
add rowArray3 entries 0,1,2 to boxArray3
add rowArray4 entries 0,1,2 to boxArray3
add rowArray5 entries 0,1,2 to boxArray3
add rowArray3 entries 3,4,5 to boxArray4
add rowArray4 entries 3,4,5 to boxArray4
add rowArray5 entries 3,4,5 to boxArray4
add rowArray3 entries 6,7,8 to boxArray5
add rowArray4 entries 6,7,8 to boxArray5
add rowArray5 entries 6,7,8 to boxArray5
add rowArray6 entries 0,1,2 to boxArray6
add rowArray7 entries 0,1,2 to boxArray6
add rowArray8 entries 0,1,2 to boxArray6
add rowArray6 entries 3,4,5 to boxArray7
add rowArray7 entries 3,4,5 to boxArray7
add rowArray8 entries 3,4,5 to boxArray7
add rowArray6 entries 6,7,8 to boxArray8
add rowArray7 entries 6,7,8 to boxArray8
add rowArray8 entries 6,7,8 to boxArray8
이 바보 같은 질문처럼 보인다 경우 미안 해요, 난 그냥 루프 상당을 파악 똑똑하지 않다. 영리한 사람이 해결책을 제시 할 수 있습니까?
편집은 행과 열 배열 구조를 추가합니다 :
<table>
<tr class="r0">
<td contenteditable="true" class="c0" onkeyup="inputFilter(this)">1</td>
<td contenteditable="true" class="c1" onkeyup="inputFilter(this)">2</td>
<td contenteditable="true" class="c2" onkeyup="inputFilter(this)">3</td>
<td contenteditable="true" class="c3" onkeyup="inputFilter(this)">4</td>
<td contenteditable="true" class="c4" onkeyup="inputFilter(this)">5</td>
<td contenteditable="true" class="c5" onkeyup="inputFilter(this)">6</td>
<td contenteditable="true" class="c6" onkeyup="inputFilter(this)">7</td>
<td contenteditable="true" class="c7" onkeyup="inputFilter(this)">8</td>
<td contenteditable="true" class="c8" onkeyup="inputFilter(this)">9</td>
</tr>
<tr class="r1">
etc
<script>
//columns
for(i=0;i<9;i++){
str = "c" + i;
allCols[i] = document.getElementsByClassName(str);
}
//rows
for(i=0;i<9;i++){
rowArray = new Array();
for(ii=0;ii<9;ii++){
colArray = allCols[ii];
elem = colArray[i];
rowArray[ii] = elem;
}
allRows[i] = rowArray;
}
그래서 COLS는 왼쪽에서 오른쪽으로, 위에서 아래로입니다. 행이 위에서 아래로 오른쪽으로 왼쪽에 있습니다. 다중 배열의 필요성에 대한 의견 - 이것이 각 구조를 참조하는 최선의 방법이 아니겠습니까? 나는 html 요소를 찾기 위해 매번 수학을 사용할 수 있다고 생각하지만 초기화시 배열로 그룹화하는 것이 논리적 인 것 같습니다. 아마도 내가 틀렸습니까? getElementsByClassName을 배열로 그룹화하는 방법에 대한 반응이었던 것 같습니다. 왜 그들을 단일 차원 배열로 풀 수 있습니까?
방법이 자바 스크립트 관련이? –
rowArrays의 구조와 boxArrays에서 원하는 출력을 게시 할 수 있습니다 –
효율적인 데이터 구조를 사용하여 스도쿠 격자를 나타낼려고하십니까? 그렇다면 구현을 잠시 중단하고 필드에 액세스하고 변경해야하는 방법을 생각하십시오. 여러 개의 배열이 정말로 필요합니까? – Timo