프로그래밍 29

[C++ Fundamentals of Data Structures/C++ 자료구조론(이석호)] 2.2 추상 데이타 타입으로서의 배열 연습문제

1. 다음 내용을 제외하고 1차원 C++ 배열 (즉 인덱스 집합은 0에서 시작하는 연속적인 정수의 집합이다)과 동일한 class CppArray를 구현하라. (i) 영역 검사를 수행한다. (ii) 치환 연산자를 이용하여 한 배열을 다른 배열에 치환하는 것이 가능하다. (ex: cp1 = cp2) (iii) 배열의 크기를 반환하는 함수를 제공한다. (iv) cout와 cin을 사용하여 배열의 입력과 출력이 가능하다. 이 구현을 위해 CppArray에 대해 다음과 같은 멤버 함수를 정의해야만 할 것이다. (a) 생성자 CppArray (int size = defaultSize, float initvalue = defaultValue). 이 생성자는 크기가 size이고 원소들이 모두 initvalue로 초기화..

[C++ Fundamentals of Data Structures/C++ 자료구조론(이석호)] 1.7 성능 분석과 측정 연습문제

1. 두 개의 함수 n²와 2^n/4를 여러 가지 n의 값에 대해 비교하라. 어느 때 두 번째 함수가 첫 번째 함수보다 커지는가? 3. 아래 두 프로그램 세그먼트에서 모든 명령문의 실행 횟수를 구하라. 4. (a) 프로그램 1.32의 모든 적절한 위치에 count를 증가시키는 명령문을 추가하라. * x[6]={1,2,3,4,5,6} / n=5로 두고 문제 풀었음. * count를 c로 표현하였음. * 출력 결과 (b) 명령문을 제거해서 이 결과 프로그램을 간소화 하라. 간소화된 프로그램은 (a)의 프로그램으로 계산된 count 값과 같은 값을 가져야 한다. (c) 프로그램이 종료했을 때 count의 정확한 값은 얼마인가? count의 초기값은 0이라고 가정하라. (d) 빈도를 이용하여 프로그램 1.32의..

[C++ Fundamentals of Data Structures/C++ 자료구조론(이석호)] 1.6 표준 템플릿 라이브러리 연습문제

1. 상이한 원소의 모든 순열을 출력할 수 있도록 프로그램 1.14를 수정해 보라. 순열을 생성하기 전에 원소 리스트를 오름파순으로 정렬하고 수행하라. 정렬을 하기 위해서는 [start, end)범위에 있는 원소를 오름차순으로 정렬하는 STL 알고리즘 [ sort(start, end) ]을 이용하라. 코드를 테스트해 보라. * 9번째 줄 코드가 정렬 코드 2. 상이한 원소의 모든 순열을 출력할 수 있도록 프로그램 1.14를 수정해보라. 먼저 처음 순열보다 사전식으로 큰 순열을 행성하기 위해 next_permutation을 이용해서 수행하고 다음에는 처음 순열보다 사전식으로 작은 순열을 생성하기 위해 STL 알고리즘 prev_permutation을 이용해서 수행하라. - next_permutation 이용..

[C++ Fundamentals of Data Structures/C++ 자료구조론(이석호)] 1.5 알고리즘 명세 연습문제 (11 ~ 15)

11. 비둘기 집 원칙이란 함수 f가 n개의 서로 다른 입력에 대해 n개 보다 작은 서로 다른 출력이 나온다면 a ≠ b이고 f(a) = f(b)인 두 개의 입력 a, b가 존재한다는 것이다. 이와 같이 입력 값이 서로 다르면서 함수 값이 같은 a, b를 찾는 C++프로그램을 작성하라. 입력은 1, 2, ..., n을 가정한다. #include using namespace std; void Search(int* y, int n); int main() { int x[11] = { 0,1,2,3,4,5,6,7,8,9,10 }; //0~10까지의 입력표 int y[12] = {}; // 12개 입력하면 적어도 2개의 값이 0~10사이에서 같음 for (int i = 0; i < 12; i++) { cout y..

[C++ Fundamentals of Data Structures/C++ 자료구조론(이석호)] 1.5 알고리즘 명세 연습문제 (01 ~ 05)

1. Horner의 법칙을 사용하여 다항식을 계산하는 C++ 프로그램을 작성하라. #include using namespace std; double horner(int size, int x, double* arr); //size의 크기를 갖는 다항식 arr에 x를 대입한 결과를 반환하는 horner함수 int main(void) { double arr[] = { 1, 2, 3, 4 }; //1+2x+3x^2+4x^3 다항식 생성 int size, x; //size: 다항식의 수, x:x0의 값 double res; //결과값을 저장하는 용도 x = 2; //다항식 f(x)에 2를 대입한 f(2)를 구하는 과정이다. size = sizeof(arr) / sizeof(double); // 다항식의 항의 갯수..

(초보자도 쉽게 따라할 수 있는) C++ 프로그래밍 PART02 연습문제

1. 데이터를 컴퓨터 메모리에 저장할 때의 기본단위는? ② byte 2. 다음 중 C++ 언어의 예약어가 아닌 것은? ③ sum 3. 문자열 상수를 올바르게 표현한 것은? ② "ABC" 4. 정수형 상수를 올바르게 표현한 것은? ① 1234 5. 다음 중 실수형 상수의 표현으로 옳은 것은? ③ 12.5D02 6. 다음 중 C++ 언어의 변수로 옳은 것만 모인 것은? ② var7, length, source-prg 7. 입력 스트림 cin과 함께 사용되는 입력 연산자로 맞는 것은? ④ >> 8. 변수의 기본 데이터형에 속하지 않는 것은? ① 문자열형 9. 정수형 변수 선언이 잘못된 것은? ④ double d; 10. 공문자를 출력하는 스트림 조작자로 맞는 것은? ③ ends 1. 개행 문자(\n)을 출력하..