0% found this document useful (0 votes)
37 views4 pages

Program For Addition of Two Polynomials

This C program performs the addition of two polynomials using structures and arrays. It defines a structure to store polynomial terms, reads two polynomials from user input, adds them, and displays the resultant polynomial. The program includes functions for reading, adding, and displaying polynomials.

Uploaded by

gopikajitesh.lbs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views4 pages

Program For Addition of Two Polynomials

This C program performs the addition of two polynomials using structures and arrays. It defines a structure to store polynomial terms, reads two polynomials from user input, adds them, and displays the resultant polynomial. The program includes functions for reading, adding, and displaying polynomials.

Uploaded by

gopikajitesh.lbs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

/* program for addition of two polynomials

polynomial are stored using structure

and program uses array of structure

*/

#include<stdio.h>

/* declare structure for polynomial */

struct poly {

int coeff;

int expo;

};

/* declare three arrays p1, p2, p3 of type structure poly.

each polynomial can have maximum of ten terms

addition result of p1 and p2 is stored in p3*/

struct poly p1[10], p2[10], p3[10];

/* function prototypes */

int readPoly(struct poly[]);

int addPoly(struct poly[], struct poly[], int, int, struct poly[]);

void displayPoly(struct poly[], int terms);

int main(){

int t1, t2, t3;

/* read and display first polynomial */

t1 = readPoly(p1);

printf(" \n First polynomial : ");

displayPoly(p1, t1);

/* read and display second polynomial */


t2 = readPoly(p2);

printf(" \n Second polynomial : ");

displayPoly(p2, t2);

/* add two polynomials and display resultant polynomial */

t3 = addPoly(p1, p2, t1, t2, p3);

printf(" \n\n Resultant polynomial after addition : ");

displayPoly(p3, t3);

printf("\n");

return 0;

int readPoly(struct poly p[10])

int t1, i;

printf("\n\n Enter the total number of terms in the polynomial:");

scanf("%d", &t1);

printf("\n Enter the COEFFICIENT and EXPONENT in DESCENDING ORDER\n");

for (i = 0; i < t1; i++) {

printf(" Enter the Coefficient(%d): ", i + 1);

scanf("%d", &p[i].coeff);

printf(" Enter the exponent(%d): ", i + 1);

scanf("%d", &p[i].expo); /* only statement in loop */

return (t1);

int addPoly(struct poly p1[10], struct poly p2[10], int t1, int t2, struct poly p3[10])
{

int i, j, k;

i = 0;

j = 0;

k = 0;

while (i < t1 && j < t2) {

if (p1[i].expo == p2[j].expo) {

p3[k].coeff = p1[i].coeff + p2[j].coeff;

p3[k].expo = p1[i].expo;

i++;

j++;

k++;

else if (p1[i].expo > p2[j].expo) {

p3[k].coeff = p1[i].coeff;

p3[k].expo = p1[i].expo;

i++;

k++;

else {

p3[k].coeff = p2[j].coeff;

p3[k].expo = p2[j].expo;

j++;

k++;

/* for rest over terms of polynomial 1 */


while (i < t1) {

p3[k].coeff = p1[i].coeff;

p3[k].expo = p1[i].expo;

i++;

k++;

/* for rest over terms of polynomial 2 */

while (j < t2) {

p3[k].coeff = p2[j].coeff;

p3[k].expo = p2[j].expo;

j++;

k++;

return (k); /* k is number of terms in resultant polynomial*/

void displayPoly(struct poly p[10], int term)

int k;

for (k = 0; k < term - 1; k++)

printf("%d(x^%d)+", p[k].coeff, p[k].expo);

printf("%d(x^%d)", p[term - 1].coeff, p[term - 1].expo);

You might also like