크기가 n * n 인 동적 행렬을 사용하는 마술 사각형 문제를 해결하려고합니다. 행렬을 1-n^2의 수로 채우고 각 행, 열 및 대각선의 합이 동일해야합니다. 알고리즘의 조건 중 하나는 루프 중 하나에서 행렬의 요소에 이미 입력 된 숫자가 있는지 확인하는 것입니다. 매트릭스의 요소 중 하나에 이미 입력 된 숫자가 있는지 확인하는 데 문제가 있으므로 요소가 비어 있는지 확인하는 방법이 궁금합니다. 그것은 encompasing 루프의 5 반복에이 if 문을 트리거 어떤 이유로다차원 배열의 요소가 비어 있는지 확인하는 방법
else if(matrix[row][col] != 0)
{
row = row + 2;
col--;
}
:
다음은 알고리즘의 해당 부분에 대한 내 코드입니다. 저는 매직 스퀘어 (Magic Square) 알고리즘을 사용하여 종이에서 작업했습니다. 그리고 루프의 다섯 번째 반복은 행렬의 빈 요소로 가져옵니다. 요소가 비어 있으면 값 0을 유지한다고 생각했습니다. 나는 매우 혼란스러워서 어떤 도움을 주셔서 감사합니다. 고맙습니다.
나를 두들겨 + +1 – Chantola
좋습니다. 각 요소를 0으로 설정했지만 어떤 이유로 루프가 여전히 트리거되고 있습니다. 각 요소를 0으로 설정 한 후 행렬을 인쇄하고 올바르게 인쇄 했으므로 여전히 작동하지 않는 이유가 확실하지 않습니다. – LurkDog