소프트웨어/C++

[2004년 기말 5번] 난수 구간 평균 - 난수 / 조건문

카켈 2007. 2. 28. 06:29




목적
  - 난수 생성 및 조건문을 응용한다.

문제

코드

#include <iostream>
#include <cstdlib>
#include <ctime>

int main(void)
{
 srand((unsigned)time(NULL));
 rand();

 float afIn[50] = {0};
 float fTotal = 0;
 int i, iUp, iDown;
 i = iUp = iDown = 0;

 for(i = 0; i < 50; i++)
 {
  afIn[i] = ((rand() % 2001) - 1000) / 1000.0;
  std::cout << afIn[i] << '\t';
  iUp = afIn[i] > 0 ? iUp + 1 : iUp;
  iDown = afIn[i] < 0 ? iDown + 1 : iDown;
  fTotal += afIn[i];

 }

 std::cout << std::endl;
 std::cout << "0 보다 큰 값의 수 : " << iUp << '\n';
 std::cout << "0 보다 작은 값의 수 : " << iDown << '\n';
 std::cout << "난수들의 평균 : " << fTotal / 50 << '\n';

 return 0;
}


해설
  - using namespace std; 를 쓰지 않을때에는 cout 앞에 보시다시피 std:: 라는 것을 붙여 넣으면 됩니다. std::endl 도 마찬가지 입니다.
  - 이전 문제에도 보다 시피 구간내에 난수를 만들어서 계산하는 문제였습니다. 과년도 문제에도 비슷한 유형이 많으니깐 눈여겨 보셔야 할 문제 입니다.
 - 삼항 연산자는 검색하여 찾아 보시기 바랍니다.

참고
  - 유사 문제