/*
在屏幕上显示0~360度的cos(x)曲线与直线x=45*(y-1)+31的迭加图形。
其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形相交的点上则用f(y)图形的符号。
图形迭加的关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。
为此,可以先判断图形的交点,再分别控制打印两个不同的图形。
*/
//同样可以由数组实现
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int x,x_cos,x_beeline;
double y;
for(y=1;y>=-1;y-=0.1)
{
x_cos=acos(y)*10; //cos(x)曲线上y点对应的屏幕x坐标
x_beeline=45*(y-1)+31; //x=45*(y-1)+31上y点对应的屏幕x坐标
for(x=0;x<=62;x++)
{
if(x==x_cos&&x==x_beeline)
cout<<"+";
else
if(x==x_cos||x==62-x_cos)
cout<<"*";
else
if(x==x_beeline)
cout<<"+";
else
cout<<" ";
}
cout<<endl;
}
return 0;
}