?? main.cpp
字號:
#include<iostream.h>
#include"LinkList.h"
int A=0;
void remove(Polynomial pb[],int i,int j)//數組長i,刪除第j個元素
{
for(int k=j-1;k<i;k++)
pb[k]=pb[k+1];
}
void AddPolyn(Polynomial pa[],Polynomial pb[],Polynomial pc[],int m,int n)//pc=pa+pb
{
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(pa[i].expn==pb[j].expn)
{
pa[i].coef=pa[i].coef+pb[j].coef;
remove(pb,n,j);
A++;
}
}
}
for(int k=0;k<m;k++)
pc[k]=pa[k];
for(int l=m;l<(m+n-A);l++)
for(int p=0;p<n-A;p++)
pc[m]=pb[p];
}
void Substract(Polynomial pa[],Polynomial pb[],Polynomial pc[],int m,int n)//pc=pa-pb
{
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(pa[i].expn==pb[j].expn)
{
pa[i].coef=pa[i].coef-pb[j].coef;
remove(pb,n,j);
A++;
}
}
}
for(int k=0;k<m;k++)
pc[k]=pa[k];
for(int l=m;l<(m+n-A);l++)
for(int p=0;p<n-A;p++)
pc[m]=pb[p];
}
void PolynomialOrder(Polynomial pc[],int i)// 對長度為i的數組冒泡排序
{
int j;
Polynomial temp;
for(int pass=1;pass<i;pass++)
{
for(j=0;j<i-pass;j++)
if(pc[j].expn>pc[j+1].expn)
{
temp=pc[j];
pc[j]=pc[j+1];
pc[j+1]=temp;
}
}
}
void differential(Polynomial pc[],int i)//對長度為i的數組求導
{
for(int j=0;j<i;j++)
{
pc[j].coef*=pc[j].expn;
pc[j].expn=pc[j].expn-1;
}
}
void main()
{
int a,b;
cout<<"please input the size of qa"<<endl;
cin>>a;
cout<<"please input the size of qb"<<endl;
cin>>b;
Polynomial *qa=new Polynomial[a];
Polynomial *qb=new Polynomial[b];
Polynomial *qc=new Polynomial[a+b];
for(int i=0;i<a;i++)
{
qa[i].CreatePolynomial();
}
for(int j=0;j<b;j++)
{
qb[j].CreatePolynomial();
}
differential(qa,a);
for(int f=0;f<a;f++)
qa[f].Print();
AddPolyn(qa,qb,qc,a,b);//多項式相加
//Substract(qa,qb,qc,a,b);//多項式相減
PolynomialOrder(qc,a+b-A);
for(int k=0;k<a+b-A;k++)
qc[k].Print();
delete []qa;
// delete qb;
delete []qc;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -