Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.78 KB | None | 0 0
  1. poly* multiplication(poly *a, poly *b)
  2. {
  3.     int i, j, k = 0;
  4.     poly *c = (poly*)malloc(sizeof(poly));
  5.     c->pow = a->pow + b->pow;
  6.     c->data = (int*)malloc(sizeof(int)*c->pow+1);
  7.     int **coefficient;
  8.     coefficient = (int**)malloc(sizeof(int*)*a->pow+1);
  9.     for (i = 0; i < a->pow+1; i++)
  10.     {
  11.         coefficient[i] = (int*)malloc(sizeof(int)*b->pow+1);
  12.     }
  13.     for (i = 0; i < a->pow+1; i++)
  14.     {
  15.         for (j = 0; j < b->pow+1; j++)
  16.         {
  17.             coefficient[i][j] = 0;
  18.             coefficient[i][j] = a->data[i] * b->data[j];
  19.         }
  20.     }
  21.     for (k = 0; k < a->pow+1; k++)
  22.     {
  23.         for (i = k, j = 0; i < k; i--, j++)
  24.         {
  25.             c->data[k] += coefficient[i][j];
  26.         }
  27.     }
  28.     for (k = a->pow+1; k < a->pow+ b->pow +1; k++)
  29.     {
  30.         for (i = a->pow, j = k-a->pow; j < a->pow+1; i--, j++)
  31.         {
  32.             c->data[k] += coefficient[i][j];
  33.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement