You are on page 1of 2

#include<iostream>

#include "polinomATP.h"
using namespace std;

void Print(polinom p);


void oduzmi1(polinom p1, polinom p2, polinom *p3);
void oduzmi2(polinom p1, polinom p2, polinom *p3);

int main(){
polinom A,B;
Zero(&A);Zero(&B);
if(IsZero(A))
cout<<"Nul-polinom!"<<endl;
cout<<"Deg(A)="<<Degree(A)<<endl;
cout<<"A = ";
Print(A);
//spremanje koeficijenata polinoma:
Attach(&A,4,2);
Attach(&A,3,-4);
Attach(&A,0,-5);
Attach(&B,4,5);
Attach(&B,6,15);
Attach(&B,3,-1);
Attach(&B,1,-1);
Attach(&B,0,1);
Attach(&B,6,15);
//
cout<<"Deg(A)="<<Degree(A)<<endl;
cout<<"A = ";
Print(A);
cout<<endl<<"Deg(B)="<<Degree(B)<<endl;
cout<<"B = ";
Print(B);
polinom C;
Zero(&C);
Add(A,B,&C); //C=A+B
cout<<endl<<"C = A+B = ";
Print(C);

oduzmi1(A,B,&C); //C=A-B
cout<<endl<<"C = A-B = ";
Print(C);
oduzmi2(A,B,&C);
cout<<endl<<"C = A-B = ";
Print(C);
Mult(B,A,&C); //C=A*B
cout<<endl<<"C = B*A = ";
Print(C);
return 0;
}
void Print(polinom p){ //ispisuje koeficijente i potencije od vodeceg do slobodn
og koeficijenta
if(IsZero(p)) {
cout<<0<<endl;return;
}
for(int i=Degree(p);i>=0;i--)
cout<<" "<<Coef(p,i)<<"*x^"<<i<<" ";
cout<<endl;
}
void oduzmi1(polinom p1, polinom p2, polinom *p3){ //u *p3 sprema (p1-p2)
Zero(p3);
int d1=Degree(p1),d2=Degree(p2), d3;
if(d1<d2) d3=d2;
else d3=d1;
for(int i=0;i<=d3;i++){
double t=Coef(p1,i)-Coef(p2,i);
Attach(p3, i, t);
}
}
void oduzmi2(polinom p1, polinom p2, polinom *p3){ //u *p3 sprema (p1-p2) pomocu
funkcije Add()
polinom p2neg; //pomocni polinom
Zero(&p2neg);
for(int i=0;i<=Degree(p2);i++){
double t=-Coef(p2,i);
Attach(&p2neg,i, t);
}
Add(p1,p2neg,p3);
}

You might also like