数组实现多项式的加减乘运算
2018-06-18 04:11:49来源:未知 阅读 ()
"fatal.h"//头文件
1 #include<stdio.h> 2 #include<stdlib.h> 3 #define Error(Str) FatalError(Str) 4 #define FatalError(Str) fprintf(stderr,"%s\n",Str),exit(1);
1 /* This code doesn't really do much */ 2 /* Thus I haven't bothered testing it */ 3 4 #include "fatal.h"//头文件 5 6 #define MaxDegree 100//定义多项式最大指数是100 7 8 static int 9 Max( int A, int B ) 10 { 11 return A > B ? A : B;//返回AB中的最大值 12 } 13 //定义一个结构体数组 15 typedef struct 16 { 17 int CoeffArray[ MaxDegree + 1 ];//需要多存储一个常数项 18 int HighPower;//存储多项式的最高项的指数 19 } *Polynomial; 20 /* END */ 21 22 /* START: fig3_19.txt */ 23 void 24 ZeroPolynomial( Polynomial Poly )//初始化多项式 25 { 26 int i; 27 28 for( i = 0; i <= MaxDegree; i++ ) 29 Poly->CoeffArray[ i ] = 0; 30 Poly->HighPower = 0; 31 } 32 /* END */ 33 34 /* START: fig3_20.txt */ 35 void //两个多项式相加 36 AddPolynomial( const Polynomial Poly1, const Polynomial Poly2, 37 Polynomial PolySum ) 38 { 39 int i; 40 41 ZeroPolynomial( PolySum ); 42 PolySum->HighPower = Max( Poly1->HighPower, 43 Poly2->HighPower ); 44 45 for( i = PolySum->HighPower; i >= 0; i-- ) 46 PolySum->CoeffArray[ i ] = Poly1->CoeffArray[ i ] 47 + Poly2->CoeffArray[ i ]; 48 } 49 /* END */ 50 51 /* START: fig3_21.txt */ 52 void //两个多项式相乘 53 MultPolynomial( const Polynomial Poly1, 54 const Polynomial Poly2, Polynomial PolyProd ) 55 { 56 int i, j; 57 58 ZeroPolynomial( PolyProd ); 59 PolyProd->HighPower = Poly1->HighPower + Poly2->HighPower; 60 61 if( PolyProd->HighPower > MaxDegree ) 62 Error( "Exceeded array size" ); 63 else 64 for( i = 0; i <= Poly1->HighPower; i++ ) 65 for( j = 0; j <= Poly2->HighPower; j++ ) 66 PolyProd->CoeffArray[ i + j ] += 67 Poly1->CoeffArray[ i ] * 68 Poly2->CoeffArray[ j ]; 69 } 70 /* END */
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:c语言实现去除字符串首尾空格
- C++冒泡排序 (基于函数模板实现) 2020-05-31
- opencv-12-高斯滤波-双边滤波(附C++代码实现) 2020-05-10
- 二叉排序树 2020-05-02
- 纯虚函数与基类指针数组的运用 代码参考 2020-04-30
- STL之deque 2020-04-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash