Programming Languages(81)
-
챕터4. 실습문제
4.5 실습 문제문제 1: 재귀를 사용한 최대공약수(GCD) 계산유클리드 알고리즘을 사용하여 두 정수의 최대공약수를 구하는 재귀 함수를 작성하세요.#include // 재귀적 유클리드 알고리즘int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b);}int main() { int num1, num2; std::cout > num1 >> num2; std::cout 문제 2: 함수 템플릿을 사용한 배열 연산배열의 합, 평균, 최댓값, 최솟값을 계산하는 다양한 함수 템플릿을 구현하세요.#include #include // 배열 합계 계산 템플릿templateT arraySum(co..
2025.03.27 -
함수 고급 주제
4.4 함수 고급 주제4.4.1 가변 인자 함수(Variadic Functions)C 스타일:#include #include // 가변 인자를 받아 합계 계산double sum(int count, ...) { va_list args; va_start(args, count); double result = 0.0; for (int i = 0; i C++11 가변 인자 템플릿:#include // 재귀 종료 함수templateT sum(T value) { return value;}// 가변 인자 템플릿 재귀 함수templateT sum(T first, Args... args) { return first + sum(args...);}int main() { std::c..
2025.03.27 -
재귀(Recursion)
4.3 재귀(Recursion)함수가 자기 자신을 호출하는 기법입니다:4.3.1 재귀의 기본 개념#include // 재귀적으로 팩토리얼 계산int factorial(int n) { // 기저 조건(base case): 재귀를 종료하는 조건 if (n 재귀의 주요 요소:기저 조건(Base Case): 재귀를 종료하는 조건재귀 호출(Recursive Call): 자기 자신을 호출하되, 더 작은 문제로 분할재귀 과정(Recursive Process): 나중에 호출된 함수가 먼저 완료되어 역순으로 결과 계산재귀의 작동 원리 시각화 (factorial(5) 호출):factorial(5)= 5 * factorial(4)= 5 * (4 * factorial(3))= 5 * (4 * (3 * factori..
2025.03.27 -
함수 포인터와 함수 객체
4.2 함수 포인터와 함수 객체4.2.1 함수 포인터(Function Pointers)함수의 주소를 저장하고 호출하는 방법입니다:#include // 함수 정의int add(int a, int b) { return a + b;}int subtract(int a, int b) { return a - b;}int main() { // 함수 포인터 선언 int (*operation)(int, int); // 함수 포인터에 함수 할당 operation = add; std::cout typedef와 using을 활용한 가독성 향상:#include // 함수 포인터 타입 정의typedef int (*Operation)(int, int);// 또는 C++11 이후: usi..
2025.03.27 -
함수와 재귀
함수와 재귀함수는 C++ 프로그래밍의 핵심 요소로, 코드의 모듈화, 재사용성, 가독성을 향상시킵니다. 이 챕터에서는 함수의 기본 개념부터 고급 기능까지 심층적으로 살펴보겠습니다.4.1 함수의 기본4.1.1 함수의 구조C++에서 함수는 다음과 같은 구조로 이루어져 있습니다:반환_타입 함수_이름(매개변수_목록) { // 함수 본문 return 반환_값; // 있는 경우}예제: 간단한 함수#include // 두 정수의 합을 반환하는 함수int add(int a, int b) { int sum = a + b; return sum;}int main() { int result = add(5, 3); std::cout 함수의 주요 구성 요소:반환 타입(Return Type): 함수..
2025.03.27 -
챕터3. 실습문제
3.5 실습 문제문제 1: 구구단 출력사용자로부터 단수를 입력받아 해당 구구단을 출력하는 프로그램을 작성하세요.#include int main() { int dan; std::cout > dan; if (dan 9) { std::cout 문제 2: 소수 판별사용자로부터 양의 정수를 입력받아 소수(Prime Number)인지 판별하는 프로그램을 작성하세요.#include #include int main() { int number; bool isPrime = true; std::cout > number; if (number (std::sqrt(number)); for (int i = 3; i 문제 3: 간단한 계산기..
2025.03.27