weststring3235   2년 전

입력, 출력은 다 정상적으로 나오는데 왜 오답이라 뜨는 걸까요 ㅜㅜ

iskang5532   2년 전

런타임 에러 (Segfault)가 두 곳에서 발생합니다.

첫 번째는 12번째 줄에서 배열의 크기입니다.

27번째 줄을 보시면, DNA[m][n] = ' '와 같이 배열에 문자를 할당하고 계십니다. 그런데 n의 크기는 최대 1000인데 반해서 배열에 할당된 크기는 50으로 되어 있습니다. (의도하신 배열의 형식은 DNA[n][m]으로 보입니다.)

이를 해결하기 위해서는 DNA에서 배열의 크기 m, n을 서로 바꿔 할당하거나, 27번째 줄과 같이 DNA 배열을 사용하는 코드들의 i와 j를 바꿔주시면 됩니다.

두 번째로, "M은 50보다 작거나 같은 자연수이다."라는 조건에 의해 m은 50이 들어올 수 있습니다.

배열의 크기가 50으로 고정되어 있어, 50이 들어올 시 런타임 에러가 발생합니다. 이를 막기 위해 53과 같이 m보다 조금 큰 수를 할당해 주셔야 합니다.

마찬가지로, n 또한 1000이 들어올 수 있으므로 할당 시에 1000보다 큰 값을 넣어 주시면 됩니다.

weststring3235   1년 전

감사합니다...!!

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