개발자
C언어에서 가중치 그래프를 만들기 위해 인접행렬을 사용하고 있는데, (i,j)성분의 값과 (j,i)성분의 값의 평균을 구해서 업데이트를 해야합니다. 그런데 계속 안돼서 확인하다보니 for (i=0 …) { for (j=0 …) { Matrix[j][i] 이러한 코드에서 (j,i)에 대한 성분을 출력해보니 (i,j)성분으로 나오고 있습니다. 즉 i,j 성분과 j, i성분의 값이 실제로 같지 않은데 같게 나오고 있습니다. 값을 확인하니 j,i성분이 정상적으로 작동하지 않은 것으로 보입니다. 저는 mac에서 vscode로 실행하고 있습니다. 왜 이와같은 문제가 일어나는지 알고 싶습니다.. 참고로 행렬의 값의 자료형은 float입니다.
답변 1
삭제된 사용자
2023년 06월 03일
안녕하세요! (j, i) 성분 대신 (i, j) 성분이 나온다면 높은 확률로 인덱스를 잘못 사용하고 계실 것 같습니다. 하지만 올려주신 예시 코드로는 어떤 상황인지 이해가 되지 않아서 Matrix 예시와 실행 결과 등을 함께 적어주시면 더 정확한 답변을 드릴 수 있을 것 같습니다!
익명
작성자
2023년 06월 03일
아 insert하는 과정에서 잘못된 부분이 있었네요… 답변 덕분에 찾게 되었습니다. 정말 감사합니다ㅠㅠ
익명
작성자
2023년 06월 03일
해결하셨다니 다행입니다!! 즐거운 주말 되세요 :D
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!