Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

PLEASE HELP ME revise this code, it has to include a struct, pointer and union.

ID: 3708117 • Letter: P

Question

PLEASE HELP ME revise this code, it has to include a struct, pointer and union. I have the code i wrote but it has mistakes PLEASE use the code i wrote also PLEASE make sure i coded the math portion correctly.

This is my code

#include<stdio.h>

#include <math.h>

double sum(double [], double [], int n);

double r(double [], double [], int , double , double );

float func(float ,float );

float euler(float ,float ,float ,int );

  

union num {

int n;

};

struct info {

//double x0=2;

double sumx, sumy,sumxx,sumxy;

double a,b;

};

int main(){

  

double x[]={2,3};

double y[]={3};

double one[]={1,1};

float xn,y0,e, x0=2;

int n=2;

  

//double x0=2;

  

printf("inputn: ");

scanf("%d",&n);

printf("input x0: ");

scanf("%f",&x0);

printf("input xn: ");

scanf("%f",&xn);

printf("input y0: ");

scanf("%f",&y0);

  

struct info a;

struct info *aPtr;

aPtr=&a;

  

a.sumx=sum(x,one,n);

a.sumy=sum(y,one,n);

a.sumxx=sum(x,x,n);

a.sumxy=sum(x,y,n);

  

a.a=(n*a.sumxy-a.sumx*a.sumy)/(n*a.sumxx-a.sumx*a.sumx);

a.b=(a.sumy*a.sumxx-a.sumx*a.sumxy)/(n*a.sumxx-a.sumx*a.sumx);

  

e = euler(x0,xn,y0,n);

  

printf(" By linear regression, the function is: y=%fx+%f ",a.a,a.b);

printf(" When x= %f, y= %f ",a.a*x0+a.b,x0);

printf(" r = %f ",r(x,y,n,a.a,a.b));

return 0;

}

double sum(double x[],double y[], int n){

double s=0.0;int i=0;

for (i=0;i<n;i++)

s=s+x[i]*y[i];

return s;

}

double r(double x[],double y[], int n, double a, double b){

double s0=0,s=0,ybar=0,total=0;

int i=0;

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

total+=y[i];

}

ybar=total/n;

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

s0+=pow((y[i]-ybar),2);

s+=pow((y[i]-b-a*x[i]),2);

}

return pow((s0-s)/s0,0.5);

}

float func(float x,float y){

return ((x*x)-(3*x));

}

float euler(float x0,float xn,float y0,int n){

float x,y,h;

int i;

x=x0;

y=y0;

h=(xn-x0)/n;

printf("y(%f)=%6.4f ",x0,y0);

for(i=1;i<=n;i++) {y=y+h*func(x,y);

x=x0+i*h;

printf("y(%f)=%6.4f ",x,y);

}

return y;

}

Explanation / Answer

#include<stdio.h>

#include <math.h>

double sum(double [], double [], int n);

double r(double [], double [], int , double , double );

float func(float ,float );

float euler(float ,float ,float ,int );

  

union num {

int n;

};

struct info {

//double x0=2;

double sumx, sumy,sumxx,sumxy;

double a,b;

};

int main(){

  

double x[]={2,3};

double y[]={3};

double one[]={1,1};

float xn,y0,e, x0=2;

int n=2;

  

//double x0=2;

  

printf("inputn: ");

scanf("%d",&n);

printf("input x0: ");

scanf("%f",&x0);

printf("input xn: ");

scanf("%f",&xn);

printf("input y0: ");

scanf("%f",&y0);

  

struct info a;

struct info *aPtr;

aPtr=&a;

  

a.sumx=sum(x,one,n);

a.sumy=sum(y,one,n);

a.sumxx=sum(x,x,n);

a.sumxy=sum(x,y,n);

  

a.a=(n*a.sumxy-a.sumx*a.sumy)/(n*a.sumxx-a.sumx*a.sumx);

a.b=(a.sumy*a.sumxx-a.sumx*a.sumxy)/(n*a.sumxx-a.sumx*a.sumx);

  

e = euler(x0,xn,y0,n);

  

printf(" By linear regression, the function is: y=%fx+%f ",a.a,a.b);

printf(" When x= %f, y= %f ",a.a*x0+a.b,x0);

printf(" r = %f ",r(x,y,n,a.a,a.b));

return 0;

}

double sum(double x[],double y[], int n){

double s=0.0;int i=0;

for (i=0;i<n;i++)

s=s+x[i]*y[i];

return s;

}

double r(double x[],double y[], int n, double a, double b){

double s0=0,s=0,ybar=0,total=0;

int i=0;

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

total+=y[i];

}

ybar=total/n;

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

s0+=pow((y[i]-ybar),2);

s+=pow((y[i]-b-a*x[i]),2);

}

return pow((s0-s)/s0,0.5);

}

float func(float x,float y){

return ((x*x)-(3*x));

}

float euler(float x0,float xn,float y0,int n){

float x,y,h;

int i;

x=x0;

y=y0;

h=(xn-x0)/n;

printf("y(%f)=%6.4f ",x0,y0);

for(i=1;i<=n;i++) {y=y+h*func(x,y);

x=x0+i*h;

printf("y(%f)=%6.4f ",x,y);

}

return y;

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote