안녕하세요, 프로그래머 게시판에 항상 질문만 드리러 와서 죄송합니다. ㅠㅠ; <div>물어볼 곳이 따로 없어서 항상 찾게되네요. 답변 달아 주시는 모든 분들께 미리 감사의 말씀 전합니다.</div> <div><br></div> <div>일단, 저는 자바스크립트로 마방진을 짜려 하고 있구요.</div> <div>제가 만들려는 프로그램의 프로세스는 이렇습니다.</div> <div><br></div> <div>1) 1~9 까지의 홀수를 입력한다.</div> <div>2) 3을 입력한다면 3x3 표의 마방진이 만들어진다.</div> <div><br></div> <div><div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201504/1427849038kTfRjYHcPwvWI.jpg" width="323" height="277" alt="캡처.JPG" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">이런식 입니다.</div><br></div> <div>제가 지금 부딪히는 부분은 마방진을 만들기 전, </div> <div>표에 그냥 숫자를 뿌리는 코드를 짜고 있습니다.</div> <div><br></div> <div>그런데 1을 입력하면 출력이 안됩니당. </div> <div>문제는 알고있는데 해결방법을 모르겠네요</div> <div><br></div> <div>소스↓</div> <div><br></div> <div><div>function cal(){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>clean();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>i = document.getElementById("num").value;<span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>enter();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><br></div> <div>}</div> <div><br></div> <div>function mabangjin(){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var bang = new Array(i);<span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span><b><font size="4" color="#ff0000">while(multi <= (i*i)){</font></b></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(row=1; row<=i; row++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>bang[row] = new Array(i);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var col=1; col<=i; col++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>bang[row][col] = multi;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>multi++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}<span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var x=1; x<=i; x++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var y=1; y<=i; y++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>document.getElementById('n_'+x+'_'+y).innerHTML=bang[x][y];</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>document.getElementById('n_'+x+'_'+y).style.border="1px solid black";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>}</div> <div><br></div> <div>function clean(){<span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><br></div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var x=1; x<=i; x++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var y=1; y<=i; y++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>document.getElementById('n_'+x+'_'+y).style.border="0px solid black";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>document.getElementById('n_'+x+'_'+y).innerHTML="";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>}<span class="Apple-tab-span" style="white-space:pre;"> </span></div></div> <div><br></div> <div><br></div> <div>while문의 조건이 문제인데..제가 지금 머리가 과부하 상태라서 어떻게 해결해야할지 모르겠네요ㅠ.ㅠ</div> <div><br></div> <div>또한 clean함수가 새로운 숫자를 입력할 경우 그 전에 있던 표를 지워주는 역할을 하는데요.</div> <div>(EX: 5를 입력해 5x5표를 만들었다가 다시 3을 재입력해 3x3표를 만들어 줄 수 있는...)</div> <div>숫자를 넣기 전 까지 표만 만들었을 때는 작동했는데 숫자를 뿌리는 코드를 넣고나서는 작동을 안하네요. 왜일까요?</div> <div><br></div> <div>질문을 총 정리하자면</div> <div><br></div> <div><b>1) while문의 조건을 어떻게 해결해야 할지</b></div> <div><b>2) clean함수의 문제점 </b></div> <div><br></div> <div>입니다. 감사합니다!</div> <div> </div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.