wjdtmddnr24   7년 전

두가지 방식으로 d[i][j] (i 와 j 는  사각형의 가로,세로) 배열을 초기화 하였는데 하나는 답이 맞고 하나는 틀립니다. 아무리 봐도 두개의 배열 초기화 소스가 다를게 없는데 뭐가 다른지 모르겠습니다.

초기화 이후 나머지 소스들은 글자 하나 틀리지 않고 같습니다... 혹시 두소스의 차이점이 뭔지 아시는분 도와주세요....

sgchoi5   7년 전

2 차원 배열의 0 행 0 열이 범위에 맞게 초기화 되는냐의 문제로 보이는데,

두 번째는 N 값으로 초기화를 하기 때문에 M 값에 따라서 초기화가 안 되는 부분이 생길 듯 합니다.

for (int i = 0; i <= N; i++)
{
    d[i][0] = 0;
}

for (int i = 0; i <= M; i++)
{
    d[0][i] = 0;
}



wjdtmddnr24   7년 전

먼저 질문에 답장하신것에 감사드립니다 ㅎㅎㅎ 하지만 위에 소스코드에 swap 함수로 N>=M 이 이루어지도록 하기 때문에 문제가 없지 않을까요?

sgchoi5   7년 전

오잉.. 그러네요..

cdef3456   6년 전

늦었지만 답변 드리면 c나 cpp같은 경우에는 배열 범위를 검사를 안하구요 5x5행렬에서 a[2][5]를 접근하면 a[3][0]이 접근됩니다. 이런식으로 N이 111보다 크면 문제가 상길 수 있습니다.

댓글을 작성하려면 로그인해야 합니다.