A. PROBLEM
The purpose of this project is to equip students with skills of manipulating an array as a data structure
to store and process information, using the C++ object structure construct: struct.
The problem is poised as follows: create a data structure to hold a term of a polynomial and then using
the C++ array data structure design a system to manipulate polynomials by being able to:
1. create a polynomial
2. input a polynomial
3. display a polynomial
4. add/subtract two polynomials
5. multiply two polynomials (NB: multiplying by a polynomial of degree 0 is called scalar
multiplication).
B. METHODOLOGY
The following C++ structure should be used to define a term of a polynomial:
struct term
{
// A polynomial term has two data components:
double coefficient; // The co-efficient of x
int exponent; // The positive integer power of x
};
Students must then write a system of functions together with the corresponding main function that will
allow the user, using a menu system, to:
1. create a polynomial of his/choice. For example, a call like the following should create a polynomial
x of length 6:
term *x = CreatePolynom ial( /* of length */ 6);
where all the coefficients and exponents are initialised to zero.
2. input data into the polynomial of a given length. For example, the following function call should
allow the user to populate his/her polynomial P of length N:
InputPolynomial(P, N);
3. display a polynomial of a given length. For example, the following function call should allow the user
to display his/her polynomial P of length N:
DisplayPolynomial(P, N);
CS 2431 - Prog. Fundamentals Project-01 Due: 1 wk before end of lectures 2007 Page -2/2-
When a polynomial is displayed, terms with zero coefficients must be omitted from the display.
Further, terms with exponents of value 1 should be displayed as: ax, where a is the corresponding
coefficient (and x is understood to be the polynomial variable). Finally, terms with exponents of value
0 should be displayed as just the constant: a. All the other terms should be displayed as: ax^n, where
n is the power of x (x^n means x to the power n).
4. add any two given polynomials. For example, the following function call should allow the user to add
two polynomials: P1 of length N1 and P2 and length N2 and the result being a new polynomial, P:
P = add(P1, N1, /* with */ P2, N2);
Step 4 should be similar when one is subtracting or multiplying any two given polynomials.
NB: Students who could attempt and get right the synthetic division of polynomials will get a bonus
mark of 50 points more
.
I have been given this problem but i have no idea where to start. can you help me get started.......