게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
ㅂㅅㄱ) 자바스크립트 반복문 질문 드려요
게시물ID : programmer_9030짧은주소 복사하기
작성자 : 으앙쥬거땅
추천 : 0
조회수 : 582회
댓글수 : 3개
등록시간 : 2015/04/01 09:50:13
옵션
  • 본인삭제금지
안녕하세요, 프로그래머 게시판에 항상 질문만 드리러 와서 죄송합니다. ㅠㅠ; 
물어볼 곳이 따로 없어서 항상 찾게되네요. 답변 달아 주시는 모든 분들께 미리 감사의 말씀 전합니다.

일단, 저는 자바스크립트로 마방진을 짜려 하고 있구요.
제가 만들려는 프로그램의 프로세스는 이렇습니다.

1) 1~9 까지의 홀수를 입력한다.
2) 3을 입력한다면 3x3 표의 마방진이 만들어진다.

캡처.JPG

이런식 입니다.

제가 지금 부딪히는 부분은 마방진을 만들기 전, 
표에 그냥 숫자를 뿌리는 코드를 짜고 있습니다.

그런데 1을 입력하면 출력이 안됩니당. 
문제는 알고있는데 해결방법을 모르겠네요

소스↓

function cal(){
clean();
i = document.getElementById("num").value;
enter();

}

function mabangjin(){
var bang = new Array(i);
while(multi <= (i*i)){
for(row=1; row<=i; row++){
bang[row] = new Array(i);
for(var col=1; col<=i; col++){
bang[row][col] = multi;
multi++;
}
}
}
for(var x=1; x<=i; x++){
for(var y=1; y<=i; y++){
document.getElementById('n_'+x+'_'+y).innerHTML=bang[x][y];
document.getElementById('n_'+x+'_'+y).style.border="1px solid black";
}
}
}

function clean(){


for(var x=1; x<=i; x++){
for(var y=1; y<=i; y++){
document.getElementById('n_'+x+'_'+y).style.border="0px solid black";
document.getElementById('n_'+x+'_'+y).innerHTML="";
}
}
}


while문의 조건이 문제인데..제가 지금 머리가 과부하 상태라서 어떻게 해결해야할지 모르겠네요ㅠ.ㅠ

또한 clean함수가 새로운 숫자를 입력할 경우 그 전에 있던 표를 지워주는 역할을 하는데요.
(EX: 5를 입력해 5x5표를 만들었다가 다시 3을 재입력해 3x3표를 만들어 줄 수 있는...)
숫자를 넣기 전 까지 표만 만들었을 때는 작동했는데 숫자를 뿌리는 코드를 넣고나서는 작동을 안하네요. 왜일까요?

질문을 총 정리하자면

1) while문의 조건을 어떻게 해결해야 할지
2) clean함수의 문제점 

입니다. 감사합니다!
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호