더북(TheBook)

스프레드시트 숫자 테이블을 보관하기 위한 스프레드시트를 구현할 때도 배열이 널리 사용된다. 예를 들어 한 반에 있는 m명의 학생에게 n번의 시험을 보게 한 선생님은 학생들의 성적을 보관하기 위해 (m+1) x (n+1) 배열이 필요할 것이다. 마지막 열은 학생별 평균, 마지막 행은 반 평균을 위해 사용한다. 이런 계산은 보통 전문적인 스프레드시트 프로그램을 사용하지만, 우리는 배열 처리를 공부하고 있으므로 이 연산을 어떻게 배열로 구현하는지 알아보겠다. 한 학생의 평균 점수를 계산하려면 한 행의 평균을 구하면 되므로, 한 행의 값을 모두 더한 후 n(시험 횟수)으로 나누면 된다. 이 방식처럼 행렬을 한 행씩 처리할 때의 순서를 행 우선(row-major) 순서라고 한다. 이와 비슷하게 반 평균을 구하려면 각 열에 있는 모든 요소를 더해 m(학생 수)로 나누면 반 평균을 구할 수 있다. 이 방식처럼 행렬을 한 열씩 처리할 때의 순서를 열 우선(column-major) 순서라고 한다. 이 연산 과정은 [그림 1.4.9]에 모두 설명되어 있다. 반만 맞은 경우도 처리할 수 있도록 점수는 실수로 표현한다.

▲ 그림 1.4.9 시험 성적을 처리하는 전형적인 스프레드시트 연산

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.