목적
  - 수학함수를 이용할줄 안다.
문제
사용자 삽입 이미지
코드

#include <iostream>
#include <cmath>

using namespace std;

int main(void)
{
 float faIn[3] = {0};
 float fTotal = 0.0;
 int i = 0;
 cout << "실수값 세 개를 입력하세요 : ";
 cin >> faIn[0] >> faIn[1] >> faIn[2];
 
 while(i<3)
 {
  cout << "│" << faIn[i] << "│ 의 제곱근 : " << sqrt(faIn[i] >= 0 ? faIn[i] : -1 * faIn[i] )<< endl;
  fTotal += sqrt(faIn[i] >= 0 ? faIn[i] : -1 * faIn[i] );
  i++;
 }

 cout << endl << "제곱근들의 합 : " << fTotal << endl;

 return 0;
}


해설
  - 절대값을 단순하게 조건문으로 구현했습니다.

if(faIn[i] >=)
 { faIn[i] = faIn[i]; }
  else { faIn[i] = - faIn[i]; }

  - 이 방식 말고 정수형은 abs(faIn[i]) 실수는 fabs(faIn[i])) 쓰면 됩니다. 정수형 abs 함수를 실수 인수에다 넣으면 소숫점이 잘려 나가므로 엉뚱한 결과가 나옵니다.

  - '│' 문자는 'ㅂ' 을 치고 난뒤에 바로 한자를 누르면 선택 창이 나옵니다.

참고
  - math.h / cmath 함수를 쓴 문제

Posted by 카켈



목적
  - cmath(math.h) 를 사용 한다.
  - 표준편차와 평균을 계산 한다.

문제

사용자 삽입 이미지

풀이

#include <iostream>
#include <cmath>

using namespace std;

int main(void)
{
 int i, j;
 float fScr[5] = {0};
 float fTotal, fDeviation, fSwap;
 fTotal = fDeviation = fSwap = 0.0;
 i = j = 0;
 
 cout << "다섯개의 실수값을 입력 하여라 : ";
 cin >> fScr[0] >> fScr[1] >> fScr[2] >> fScr[3] >> fScr[4];

 for(i = 0; i < 5; i++)
 {
  for(j = i; j < 5; j++)
  {
   if(fScr[i] < fScr[j])
   {
    fSwap = fScr[j];
    fScr[j] = fScr[i];
    fScr[i] = fSwap;

   }

  }

  fTotal += fScr[i];

 }

 for(i = 0; i < 5; i++)
   fDeviation += pow((fScr[i] - fTotal / 5), 2);

 
 fDeviation = sqrt(fDeviation / 5);


 cout << "크기 순으로 정렬한 결과 : " << fScr[0] << ' ' << fScr[1] << ' ' << fScr[2] << ' ' << fScr[3] << ' ' << fScr[4] << endl;
 cout << "입력된 값의 평균 : " << fTotal / 5 << endl;
 cout << "입력된 값의 표준편차 : " << fDeviation << endl;


 return 0;
}

해설
  - cmath 와 math.h 는 동일한 역할을 합니다.
  - 정렬하면서 합계를 구했습니다.

참고
  - 유사 문제
  - 표준편차 구하기

사용자 삽입 이미지

Posted by 카켈
이전페이지 1 다음페이지