문제 :

문제 5번을 참고하여 짝수 정수만 랜덤하게 발생시키는 EvenRandom 클래스를 작성하고 EvenRandom 클래스를 이용하여 10개의 짝수를 랜덤하게 출력하는 프로그램을 완성하라.

0도 짝수로 처리한다.

2020/03/03 - [C++/명품 C++ programming] - 명품 C++ programming 실습 문제 3장 5번

[명품 C++ programming 실습 문제 3장 5번

문제 : 랜덤 수를 발생시키는 Random 클래스를 만들자. Random 클래스를 이용하여 랜덤 한 정수를 10개 출력하는 사례는 다음과 같다. Random 클래스가 생성자, next(), nextInRange()의 3개의 멤버 함수를 가지도..

sobamemil.tistory.com](https://sobamemil.tistory.com/47)

목적 및 힌트 :

클래스 작성 및 클래스 활용

실행 결과 :

코드 :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #include #include #include using namespace std; class EvenRandom{ public: EvenRandom(); int next(); int nextInRange(int a, int b); }; EvenRandom::EvenRandom(){ srand((unsigned)time(0)); } int EvenRandom::next() { int ran = rand(); if(ran%2 == 0) return ran; else return –ran; } int EvenRandom::nextInRange(int a, int b){ int ran = rand()%(b-a+1) + a; if(ran%2 == 0) return ran; else return –ran; } int main(){ EvenRandom r; cout « “– 0에서 " « RAND_MAX « “까지의 랜덤 정수 10 개–” « endl; for(int i=0; i<10; i++) { int n = r.next(); // 0에서 RAND_MAX(32767) 사이의 랜덤한 정수 cout « n « ’ ‘; } cout « endl « endl « “– 2에서 " « “10 까지의 랜덤 정수 10 개 –” « endl; for(int i=0; i<10; i++) { int n = r.nextInRange(2,10); // 2에서 10 사이의 랜덤한 정수 cout « n « ’ ‘; } cout « endl; }

설명 :

이전 글에 있는 실습 문제 5번을 참고하여 작성하면 되는 문제입니다.

짝수인 정수만 랜덤하게 출력하기 위해 if문으로 짝수인지 판단하고, 짝수가 아닐시 1을 빼서 return 해주었습니다.

공유하기

게시글 관리

코딩은 내일부터 ;

저작자표시 (새창열림)

💻 개발 & CS > C++ 프로그래밍’ 카테고리의 다른 글

명품 C++ programming 실습 문제 3장 8번  (1) 2020.03.03
명품 C++ programming 실습 문제 3장 7번  (2) 2020.03.03
명품 C++ programming 실습 문제 3장 5번  (4) 2020.03.03
명품 C++ programming 실습 문제 3장 4번  (8) 2020.03.03
명품 C++ programming 실습 문제 3장 3번  (3) 2020.03.02