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 |
相关文章推荐
- C++中的sort函数
- C++13.3 析构函数destructor
- C语言qsort
- C++设计模式-Proxy代理模式
- 黑马程序员-OC语言-ios第二天笔记总结
- C/C++大小端模式与位域
- C++ 13.2 类赋值操作符----定义该类型对象赋值时会发生什么(有不懂)
- Effective C++ 条款25
- 黑马程序员——OC基础学习(一)---第一个OC语言程序和面向对象编程的基本认识
- C++ 中的友元friend
- 考试一,综合练习,C语言,
- 黑马程序员-OC语言-ios第一天笔记总结
- xin de yitian 由死向生
- c++显示调用析构函数(转csdn)
- C语言打印字母金字塔(第一行是A 第二行是ABA ……)
- C++socket编程
- c++_1st par
- (转)C++中的static关键字的总结
- C++_运算符重载
- c++ 继承相关注意点