0x02강 기초코드작성요령2. max_element(a,a+9)을 활용한 원하는 위치의 배열의 인덱스 원소 출력 방법.

 

 

여기서 첫번재 cout에 작성한 코드에서 *을 제외하고 프로그램을 실행시킨뒤 입력값을 넣어보면

이런식의 값이 출력된다. 

max_element(a,a+9)의 출력값이 0064D490의 값이 나오는 것이다. 

 

cplusplus 사이트에서 max_element를 검색해보면

이렇게 설명을 제시해주는데, 결국 제시해 주는 값은 iterator이다. 

 

https://notepad96.tistory.com/40

 

C++ Vector 최대값, 최소값, 인덱스 구하기

1. 최대값, 최소값 vector 컨테이너에서 최대값, 최소값을 구할 경우 for문을 작성할 수도 있지만 이는 복잡하다. 그래서 algorithm 라이브러리의 있는 max_element를 사용한다면 한줄로도 간단하게 최대

notepad96.tistory.com

 

이 블로그 글의 설명을 참조해서 생각해보면, 이터레이터를 반환하는데, 그걸 활용해서 인덱스 값을 알아내는 방법에 대해서 설명해놓았다. 

여기서의 설명은 vector인데, vector는 결국 연속적으로 할당되어있는 다이나믹 어레이로 생각할 수 있고, 

지금 문제에서 다루고 있는 자료구조는 array이니까 같은 형태로 생각해볼수 있을것 같다. 

-a+1을 한것을 유심히 살펴보고, 지속적으로 생각해보도록 하자. 

결국 컴퓨터상에서 인덱스는 제로베이스 인데, 이 문제가 요구하는 인덱스의 순서는 1베이스이기 때문에, 그 간격을 맞추어주기 위해서 +1을 시행한것으로 보인다. 

문제가 요구하는 순서가 제로베이스인지, 1베이스인지 정확히 파악하고 문제를 해결하는데 기준으로 삼도록 하자. 

 

  Comments,     Trackbacks