c++에서 *찍어서 sin그래프 그리기 소스 파일 해석좀 부탁드립니다 ㅠㅠ
환히찬
[몇개의 값을 입력받아주어진 sin함수 식에 넣어서 그값을 가지고 사인그래프를 *을 찍어서 표현하라는 문제입니다.
(a)amplitude, (f)frequency, radian,t1, t2, t0=t2-t1이고 t1~t2 까지 시간은 0.05초씩 증가,
위 변수를 입력받아 아래 sin 함수에 대입하여 나온 값을 *찍어서 표현하라네요
주어진 식은 s(t)=a*sin(2*3.14*f*t0+radian) 입니다.][]까지에 대한 소스 파일인데요 제가 짠게 아니라서 모르는 부분이 있어서요 해석좀 부탁드립니다.
소스는 아래와 같습니다.
#include iostream
#include iomanip
#include cmath
#define pi 3.14159
using namespace std;
void main()
{
double a,f,r,t1,t2;
double i,y;
double x,xx;
cout input the amplitude : ;
cin a;
cout input the frequency : ;
cin f;
cout input the phase in radian : ;
cin r;
cout input the start time : ;
cin t1;
cout input the end time : ;
cin t2;
cout =============================================================================== endl;
cout x sin(x) value sin(x) graph endl;
cout =============================================================================== endl;
cout -1 0 1 endl;
cout --------------------------------------------------------- endl;
for(i=t1; it2+0.05; i=i+0.05)
{
y = a*sin(2*pi*f*i+r);
cout fixed setprecision(2) showpoint ;
x = 30*y/a;
xx = -30*y/a;
cout setw(5) i;
cout setw(10) y;
{
if (y0.1)
{
cout setw(35) |;
cout setw(x) * endl;
}
else if(y(-0.1))
{
cout setw(36-xx) *;
cout setw(xx) | endl;
}
else
{
cout setw(35) * endl;
}
}
}
}
위 소스 파일을 실행하면 위 그림과 같은데요
여기서 제가 빨간색 글씨 부분이 도저히 이해가 안 되네요...ㅠㅠ 그 위까지는 저도 했는데 말입니다.
특히 x = 30*y/a; xx = -30*y/a; 이 식이 어디서 나왔는지가 궁금합니다.
빨간색 글씨 부분에 대해서 설명좀 해주세요~참고로 if함수에 대해서는 압니다.ㅎㅎ;
고수님들 부탁드립니다..ㅠㅠ
오류는 없습니다.빨간색 부분에 대해서 소스 해석좀 부탁드립니다.