고객만족센터

  • 질문
  • 3차원 배열과 관련된 질문이 있습니다.
  • 2023-09-06
임용고시에 나올거 같지는 않지만 헷갈리는 부분이 있어서 질문드리겠습니다.   
   
1~2월 교과내용학 9강 data steuckture c8   
강의자료 p10의 예시문제 2번 열우선 순서 계산   
   
해당 문제를 공식을 대입할 경우 주소가   
1260이 나옵니다. 하지만 이 주소는 배열에서 65번째 위치에 온다는 뜻인데 배열의 개수를 생각해 보면 3×4×5로 60개밖에 없습니다.   
   
이 문제의 경우 INT x[3][4][5]에서 x [2][3][4]는 행 우선과 열 우선으로 보았을때 맨 마지막에 오므로 순서가 같으므로 주소가 같지 않나요?    
   
추가 적으로 저의 생각으로는 공식   
A[l;m;n] x[i, j, k]   
Start address + s{(k×l×m) + (n×j) + i}   
이 부분에서   
Start address + s{(k×l×m) + (l×k) + i}   
으로 바뀌어야 하지 않을까 생각해 보았습니다.   
제가 생각한 것이 맞을까요?

  • 답변
  • 이진 교수
  • 2023-09-06
 
 
맞습니다. 공식을 분석해보니 한가지만 보정하면 되겠네요. 
 
열 우선 순서의 주소 계산식에서 중간부분 (행번호 * 열의 개수)의 열의 개수를 면의 개수로 바꿔서 계산해보세요. (3 x 5)가 아니고, 3 x 3 이 되면,  
4{48 + (9) + 2)} = 236에 1000더하면 결국 주소값은 동일하게 나오게 됩니다.  
 
 
  • 답변이 도움 되셨나요?

광고배너

1위 박문각! 계속 앞으로 나아가겠습니다.

2023 고객선호브랜드지수 1위 / 2022 한국브랜드만족지수 1위 / 2021 국가브랜드대상 에듀테크
2021 대한민국 소비자 선호도 1위2020 한국산업의 1등 브랜드 대상 / 2019 한국우수브랜드평가대상
2018 제12회 대한민국 교육산업대상 / 2017 제1회 대한민국 고객만족 브랜드 경영대상
2017 한국소비자선호도 1위 브랜드대상 / 2017 한국소비자만족지수 1위