개발자

C언어에서 행렬값이 이상하게 나오는 것 같습니다.

2023년 06월 03일조회 80

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입니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

유택범님의 프로필 사진

안녕하세요! (j, i) 성분 대신 (i, j) 성분이 나온다면 높은 확률로 인덱스를 잘못 사용하고 계실 것 같습니다. 하지만 올려주신 예시 코드로는 어떤 상황인지 이해가 되지 않아서 Matrix 예시와 실행 결과 등을 함께 적어주시면 더 정확한 답변을 드릴 수 있을 것 같습니다!

profile picture

익명

작성자

2023년 06월 03일

아 insert하는 과정에서 잘못된 부분이 있었네요… 답변 덕분에 찾게 되었습니다. 정말 감사합니다ㅠㅠ

유택범님의 프로필 사진

유택범

Software Developer2023년 06월 03일

해결하셨다니 다행입니다!! 즐거운 주말 되세요 :D

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!