Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- poly* multiplication(poly *a, poly *b)
- {
- int i, j, k = 0;
- poly *c = (poly*)malloc(sizeof(poly));
- c->pow = a->pow + b->pow;
- c->data = (int*)malloc(sizeof(int)*c->pow+1);
- int **coefficient;
- coefficient = (int**)malloc(sizeof(int*)*a->pow+1);
- for (i = 0; i < a->pow+1; i++)
- {
- coefficient[i] = (int*)malloc(sizeof(int)*b->pow+1);
- }
- for (i = 0; i < a->pow+1; i++)
- {
- for (j = 0; j < b->pow+1; j++)
- {
- coefficient[i][j] = 0;
- coefficient[i][j] = a->data[i] * b->data[j];
- }
- }
- for (k = 0; k < a->pow+1; k++)
- {
- for (i = k, j = 0; i < k; i--, j++)
- {
- c->data[k] += coefficient[i][j];
- }
- }
- for (k = a->pow+1; k < a->pow+ b->pow +1; k++)
- {
- for (i = a->pow, j = k-a->pow; j < a->pow+1; i--, j++)
- {
- c->data[k] += coefficient[i][j];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement