Hi

i'm new here so sorry if i put in the code the wrong way

In class on friday I we were doing the trapezoidal rule and the lecturer told us to create a c programe which takes in five values for x and five values for y and then work out the answer.

The equation to is f(x) = .5*h*(f_{0}+ 2*f_{1}+ 2*f_{2}+ ... + 2*f_{n-1}+ f_{n}). (where h is just x_{1}- x_{0) }I have created a programe that does it but i want to change it so it can be used for any sized sample.

I have created a matrix that asks how many y values do you want to put in and then puts in the y values.

What i would like some help with is how do i adjust the equation so it can calculate any number of y's instead of just 5?

The code i have below gets you to put in how many y's and but the equation will still only work out 5 y values

Any help would be great

Hope it is better nowCode:#include <stdio.h> double trapezoidal (double arrayy[], double arrayx[], double h); int arraysize; int main (void) { int a,b; double f,arrayx[2],arrayy[100], ans, h,j,g; printf("Enter arraysize: "); scanf ("%d", &arraysize); for (a= 0; a < 2; a++) { printf ("Enter a value x%d:", a); scanf("%lf", &arrayx[a]) ; } printf("\n"); for (b= 0; b < arraysize; b++) { printf ("Enter a value y%d:", b); scanf("%lf", &arrayy[b]) ; } ans = trapezoidal (arrayy,arrayx,h); printf ("The answer is:%lf\n", ans); system ("pause"); return 0; } double trapezoidal (double arrayy[], double arrayx[], double h) { double f,ans; int a,b; h= arrayx[1] - arrayx[0]; printf("Value for h is:%lf",h); system ("pause"); ans =(.5)*h*(arrayy[0] + 2*arrayy[1] + 2*arrayy[2] + 2*arrayy[3] + 2*arrayy[4] + 2*arrayy[5] + arrayy[arraysize]); // works out the answer return ans; }