ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 명품 C++ 6장 3번
    C++ 2018. 11. 2. 16:58

    3. 함수 big()을 호출하는 경우는 다음과 같다.


    int main() {
        int x = big(3, 5); // 3과 5 중 큰 값 5는 최대값 100보다 작으므로, 5 리턴
        int y = big(300, 60); // 300과 60 중 큰 값 300이 최대값 100보다 크므로, 100 리턴
        int z = big(30, 60, 50); // 30과 60 중 큰 값 60이 최대값 50보다 크므로, 50 리턴
        cout << x << ' ' << y << ' ' << z << endl;
    }


    1) big() 함수를 2개 중복하여 작성하고 프로그램을 완성하라.


    소스코드


    #include <iostream>
    using namespace std;
    int big(int a, int b) {
        int max = 100;
        int x;
        x = (a > b) ? a : b;
        return (x < max) ? x : max;
    }
    int big(int a, int b, int max) {
        int x;
        x = (a > b) ? a : b;
        return (x < max) ? x : max;
    }
    int main() {
        int x = big(3, 5); // 3과 5 중 큰 값 5는 최대값 100보다 작으므로, 5 리턴
        int y = big(300, 60); // 300과 60 중 큰 값 300이 최대값 100보다 크므로, 100 리턴
        int z = big(30, 60, 50); // 30과 60 중 큰 값 60이 최대값 50보다 크므로, 50 리턴
        cout << x << ' ' << y << ' ' << z << endl;
    }


    2) 디폴트 매개 변수를 가진 하나의 함수로 big()을 작성하고 프로그램을 완성하라.


    소스코드


    #include <iostream>
    using namespace std;
    int big(int a, int b, int max=100) {
        int x;
        x = (a > b) ? a : b;
        return (x < max) ? x : max;
    }
    int main() {
        int x = big(3, 5); // 3과 5 중 큰 값 5는 최대값 100보다 작으므로, 5 리턴
        int y = big(300, 60); // 300과 60 중 큰 값 300이 최대값 100보다 크므로, 100 리턴
        int z = big(30, 60, 50); // 30과 60 중 큰 값 60이 최대값 50보다 크므로, 50 리턴
        cout << x << ' ' << y << ' ' << z << endl;
    }


    실행결과


    max를 넘기지 않는 경우 100이기 때문에, 디폴트 매개 변수로 max의 기본 값을 100으로 설정하였습니다.

    'C++' 카테고리의 다른 글

    명품 C++ 6장 5번  (0) 2018.11.02
    명품 C++ 6장 4번  (0) 2018.11.02
    명품 C++ 6장 2번  (0) 2018.11.02
    명품 C++ 6장 1번  (0) 2018.11.02
    명품 C++ 5장 Open Challenge  (0) 2018.10.31

    댓글

© 2018 TISTORY. All rights reserved.