for(i=0; i<a; i++){
n[i] = i+1;
}
for(i=0; i<a; i++){
for(j=0; j<a; j++){
while(s[i][j] == 0){
rand = (int)(Math.random()*a); // 하나 뽑고
for(k=0; k<a; k++){
if(n[rand] == 0){
token = true;
k=0;
}
else if(n[rand] == s[k][j]){ // 뽑은거랑 있던거랑 비교해서 같으면
token = true;
k=0;
}
if(token==true){
token = false;
rand = (int)(Math.random()*a);
continue;
}
}
s[i][j]= n[rand];
n[rand] = 0;
}
}
for(k=0; k<a; k++){
n[k] = k+1;
}
}
이거잡고 몇시간째 씨름중인데 왜 그러지요??????(허접임)
그냥 봐도 엉망으로 짠것 같은데? token = true; k = 0; 이 두 조건에서 공통인 이유가 뭐임? ( 그럴거면 조건을 왜 나눔? )
뭐하는 코든지도 모르겠고 전체가 도는 코드도 아니고, 목적도 없이 이렇게 대충 올려놓고 왜 안도냐고 묻는거 보니 좀 많이 허접하구나.
코딩을 할거면 생각을 정연하게 적어놓고 그 생각과 코드가 일치하는지 점검을 해 보던가.
익숙해지면 굳이 생각을 적어 놓을 필요가 없는데, 니 코드 보면 그냥 생각이 코드에 끌려다니는 전형적인 상태같음.