Question 1) This problem deals with polynomials - their representation and simple operations on them.
A polynomial would be given as input as described below:
i) number of terms in the polynomial, say n
ii) n pairs of (coefficient, exponent) values in an arbitrary order
For example, the following polynomial:
p(x) = 10 x15 + 23.8 x3 + 1.6 x - 2.5 may be supplied as:
Number of terms: 4
terms (coeff, exp ) : ( in arbitrary order)
10.0 15
1.6 1
-2.5 0
3.3 3
Given such sparse polynomials, select a linked list based representation for creating the same.
Write functions for the following:
i) function which returns degree of a polynomial
ii) functions, addpoly and diffpoly, that implement addition and difference of two input sparse polynomials.
Write a main() and test out your implementation.
Question 2) Companies and people often buy and sells stocks. Often they buy same stock for different prices at different times. Say a person owns 1000 shares a certain stock (like Checkpoint); she may have bought the stock in amounts of 100 shares over 10 different times with 10 different prices.
We will analyze two different methods of accounting -- FIFO and LIFO accounting used for determining the "cost" of a stock. This information is typically calculated when a stock is sold to determined if a profit / loss was made. In our version of FIFO accounting, the price of a commodity is averaged starting with the first purchase of that item. Say we sell 250 shares of a stock, according to this method; the purchase price is determined by averaging the prices on the first 250 shares bought. In our version of LIFO accounting, the price of a commodity is averaged starting with the last purchase of that item. Say we sell 250 shares of a stock, according to this method; the purchase price is determined by averaging the prices on the last 250 shares bought.
In this assignment, use a queue for storing data for Fifo accounting, and stack for Lifo accounting. You must use the array based implementation for your stack based implementation and a linked list for implementing your queue.
Both your stack and queue must have records with the following fields:
The name of the stock (a string or int)
The number of shares of a stock (an int)
The purchase price (can be a decimal)
You can suppose that the first element of the structure is the security bought first, the second was bought second, etc.
Your program must have the user able to enter information about various stocks, the amount of shares, and the price. The user can then enter a query about a certain stock and the cost according to the Lifo and Fifo accounting methods for a certain number of shares.
The following could be your menu:
Press 1 to enter a new stock
Press 2 to find the LIFO and FIFO price for a stock.
If 1 is pressed, the user needs to enter the stock symbol, and the number of shares, and the price.
If 2 is pressed, the user requires to enter the stock symbol being queried and the number of shares in question.