Untitled

 avatar
unknown
plain_text
3 years ago
1.2 kB
6
Indexable
#include <stdio.h>
#include <stdlib.h>
#define max 200
float x[max],y[max];

float f(float x)
{

    return(x*x*x-5*x);

}
float find_c(float a,float b)
{

    float c,dx=0.5;
    c=f(a);
    a=a+dx;
    do
    {
        if(f(a)>c)
            c=f(a);
        a=a+dx;
    }while(a<=b);
    return c;
}
void create_randomX(int a,int b,int N)
{

    int i;
    for (i=0;i<N;i++)
    {

        y[i]=(((float)rand()/(float)(RAND_MAX/(b-a))))+a;
    }
}
void create_randomY(int c, int N)
{

    int i;
    for (i=0;i<N;i++)
    {

        x[i]=(float)rand()/(float)(RAND_MAX/c);
    }
}


int main()
{
    int n=0,N,i;
    float a,b,c,I;
    printf("Enter the lower Bound");
    scanf("%f",&a);
    printf("Enter the UPPER Bound");
    scanf("%f",&b);
    c=find_c(a,b);
    printf("Max f(X)",c);
    printf("Enter the number of iterations");
    scanf("%d",&N);
    create_randomX(a,b,N);
    printf("\n\n");
    create_randomY((int)c, N);
    for (i=0;i<N;i++)
    {
        if(f(x[i])<=y[i])
            n++;
    }
    printf("\n\nn=%d",n);
    I=(float)n*(b-a)*c/N;
    printf("\nI=%f",I);
    return 0;

}
Editor is loading...