$25
CSE 102 Homework Assignment 3
You are going to write a complete C program which implements the following functionality:
• Your program will read two input files:
– values.txt – polynomial.txt
• Your program will create a file: – evaluations.txt
• Your program will evaluate the same polynomial for each value read from values.txt and write the results to evaluations.txt
values.txt
This file holds double numbers separated by whitespace.
12.5 5 67.89 -6 -13.37
There may be as many as 100 double numbers in this file. polynomial.txt
This file holds a polynomial in a character array form.
5x+23.5x^3-x^2
There will only be one polynomial expression. monomials are not ordered according to the powers of the variable x. The coefficient of x at each monomial is written before the character x. Powers of x is represented by character ˆ followed by a number. Each monomial will certainly include a character x. The length of a polynomial expression can reach up to 1000 characters. evaluations.txt This file will hold the results of polynomial evaluations for each value read from values.txt. If your polynomial string is 5x+23.5xˆ3-xˆ2, set x to be the value(one of the numbers read from values.txt) and evaluate the mathematical expression: evaluation = 5*x + 23.5*x*x*x - x*x. For the given example above, evaluations.txt will be as follows:
45804.69
2937.50
7349081.25
-5142.00
-56410.13
Remarks:
• In order to convert char arrays to numbers, you can use function sscanf() which is defined in <stdio.h>. For example:
double d1,d2; char a[] = "12.5 63.4" sscanf(a, "%lf%lf", &d1, &d2);
/* d1 stores 12.5 and d2 stores 63.4 */
• In order to find powers of a number, you can use pow() function defined in <math.h>