C++ 자료구조론(이석호)

[C++ Fundamentals of Data Structures/C++ 자료구조론(이석호)] 2.5 배열의 표현 연습문제

ShuYan 2023. 9. 13. 07:16

1. [프로그래밍 과제] 다차원 배열이 C++에서 표준 데이타 객체로 제공될지라도 때로는 다차원 배열을 위해 클래스를 정의할 필요가 있다. 이 정의는 다음과 같은 보다 견고한 클래스를 표현한다.
 

(a) 범위 검사를 수행한다.
(b) 각 차원의 인덱스 집합으로 0부터 시작하는 연속적인 정수들로 구성되는 것을 요구하지 않는다.
(c) 배열 지정을 허용한다.
(d) 배열의 초기화를 다른 배열을 사용하여 할 수 있다.
(e) 실행 시에 배열의 각 차원의 범위를 선택한다.
(f) 배열의 범위와 크기를 동적으로 변경할 수 있다.
(g) 배열의 크기를 판단할 수 있는 방법을 제공한다.

 
실수 원소를 저장하고 위에 명기된 기능들을 제공하는 클래스 mdArray를 구현하라. 이를 위해 동적으로 생성되는 1차원 배열인 원소들의 배열과 각 차원의 최소와 최대 범위를 저장하는 배열에 대응하는 두 개의 포인터 데이타 멤버를 정의하는 것이 필요할 것이다. 그 외의 데이타 멤버도 필요할 것이다. 클래스의 데이타 멤버는 차원 수와 각 차원의 범위의 입력으로 받는 생성자에 의해 초기화되어야만 한다. 또한 화일로부터 배열의 원소들을 입력하거나 화일로 출력하는 연산을 제공해야 한다.
 

 

시간 나면 https://jaimemin.tistory.com/143님 코드 해석하기

*참고 : https://jaimemin.tistory.com/143
 
 
2. 다음과 같은 배열 a[n], b[n][m], c[n][2][3]에 각각 저장될 수 있는 값들은 몇 개인가?
 




 
3.