c/c++
[c언어] sin그래프 그리기
Нуеоп
2011. 11. 9. 22:00
sin 그래프 그리기
#include<stdio.h>
#include<math.h>
#define WIDTH 19
#define HEIGHT 100
#define PI (3.141592)
int isEqual(double d1, double d2, double e);
int main(int argc, char *argv[])
{
double x=0.0;
double y=0.0;
int col=0,row=0;
printf("%-*d%1d%*d\n",WIDTH,-1,0,WIDTH,1);
for(row=0;row<WIDTH*2+1;row++) printf("-");
printf("\n");
for(col=0;col<HEIGHT;col++)
{
y=sin(2*PI*x);
for(row=0;row<WIDTH*2+1;row++)
{
if(isEqual((double)row,(y+1.0)*(double)WIDTH,0.5))
printf("*");
else if(row == WIDTH)
printf("|");
else
printf(" ");
}
x += 0.05;
printf("\n");
}
}
int isEqual(double d1, double d2, double e)
{
if( (d1-d2>0.0?d1-d2:d2-d1)<e )
return 1;
return 0;
}
-1 0 1
---------------------------------------
*
| *
| *
| *
| *
| *
| *
| *
| *
| *
*
* |
* |
* |
* |
* |
* |
* |
* |
* |
*
| *
| *
| *
| *
| *
| *
| *
| *
| *
*
* |
* |
* |
* |
* |
* |
* |
* |
* |
*
| *
| *
| *
| *
| *
| *
| *
| *
| *
*
* |
* |
* |
* |
* |
* |
* |
* |
* |
*
| *
| *
| *
| *
| *
| *
| *
| *
| *
*
* |
* |
* |
* |
* |
* |
* |
* |
* |
*
| *
| *
| *
| *
| *
| *
| *
| *
| *
*
* |
* |
* |
* |
* |
* |
* |
* |
* |