您的位置:首页 > 编程语言 > C语言/C++

c语言模拟函数画图

2015-06-27 21:32 337 查看
main.cpp
#include"stdafx.h"
#include"function.h"
int_tmain()
{
intdata1[MAX],data2[MAX];
Fun(MAX,data1,0);
Fun(MAX,data2,1);
Anolog_grap(MAX,data1);
Anolog_grap(MAX,data2);

Merge(data1,data2);
return0;

}

Function.h
-------------------------------------------------------------------------------
#include<stdlib.h>
#include<stdio.h>
#include<math.h>

#ifndef _FUNCTION_H_
#define_FUNCTION_H_
#defineMAX20
#defineF1(x)5*sin((double)x)+5
#defineF2(x)(x)*(x)-3*(x)+5
#defineABS(x)
x <0?-x
: x
voidFun(intN,intdata[],boolflag)
//函数求值
{
doubley=0;
for(intx=0;x<N;x++)
{
if(0==flag)y=F1(x)*2;
else
y=F2(x*0.5);
if(x<0)y=ABS(x);
data[x]=(int)y;
}
}

voidAnolog_grap(intN,intdata[])
//画出单个模拟图像
{
printf("\n╂━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━→
y\n");
for(inti=0;i<N;i++)
{
printf("┃");
for(inty=data[i];y>=0;y--)
{

putchar(' ');
}
printf("*",data[i]);
putchar('\n');
}
printf("┃\n↓\nx\n");
}

voidMerge(intdata1[],intdata2[])
{
#ifdefMAX
#undef MAX
#defineMAX60
#endif
chardata3[MAX][MAX];
for(inti=0;i<MAX;i++)
{
for(intj=0;j<MAX;j++)

data3[i][j]='
';
}
for(intx=0;x<20;x++)
{
data3[x][data1[x]]='*';
data3[x][data2[x]]='*';
}
printf("\n╂━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━→
y\n");
for(inti=0;i<20;i++)
{
printf("┃");
for(intj=0;j<MAX;j++)

printf("%c",data3[i][j]);
puts("");
}
printf("┃\n↓\nx\n");
#ifdefMAX
#undef MAX
#defineMAX20
#endif
}

#endif

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: