Advertisement
sedran

Sum and Multiplication Of Polinoms

May 7th, 2011
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.24 KB | None | 0 0
  1. #include<stdio.h>
  2. #define MAX_DEGREE 10
  3.  
  4. int readpoly(int poly[]){
  5.     int i,degree;
  6.     scanf("%d",&degree);
  7.     for(i=degree;i>=0;i--){
  8.         scanf("%d",&poly[i]);
  9.     }
  10.     return degree;
  11. }
  12.  
  13. void printpoly(int poly[],int degree){
  14.     int i;
  15.     for(i=degree;i>=0;i--){
  16.         printf("%dx^%d ",poly[i],i);
  17.     }
  18.     printf("\n");
  19. }
  20.  
  21. int addpolynoms(int p1[],int degree1,int p2[],int degree2,int sum[]){
  22.     int i,sumdegree;
  23.     if(degree1>degree2){
  24.         sumdegree=degree1;
  25.     }
  26.     else{
  27.         sumdegree=degree2;
  28.     }
  29.     for(i=0;i<=sumdegree;i++){
  30.         sum[i]=p1[i]+p2[i];
  31.     }
  32.     return sumdegree;
  33. }
  34.  
  35. int multpolynoms(int p1[],int degree1,int p2[],int degree2,int mult[]){
  36.     int i,multdegree,j;
  37.     multdegree=degree1+degree2;
  38.     for(i=0;i<=degree1;i++){
  39.         for(j=0;j<=degree2;j++){
  40.             mult[i+j]+=p1[i]*p2[j];
  41.         }
  42.     }
  43.     return multdegree;
  44. }
  45.  
  46. int main(){
  47.     int p1[MAX_DEGREE+1]={0},p2[MAX_DEGREE+1]={0},sum[MAX_DEGREE+1]={0},mult[2*MAX_DEGREE+1]={0};
  48.     int degree1,degree2,sumdegree,multdegree,i,j;
  49.     degree1=readpoly(p1);
  50.     degree2=readpoly(p2);
  51.  
  52.     printpoly(p1,degree1);
  53.     printpoly(p2,degree2);
  54.  
  55.     sumdegree=addpolynoms(p1,degree1,p2,degree2,sum);
  56.     printpoly(sum,sumdegree);
  57.  
  58.     multdegree=multpolynoms(p1,degree1,p2,degree2,mult);
  59.     printpoly(mult,multdegree);
  60.  
  61.  
  62.     anykey();
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement