c语言模拟函数画图

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

#include

#include

 

#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

 

你可能感兴趣的:(软件)