diana
                                         9/4/2012 4:20:01 AM
                                        #include 
float    start_point,            /* GLOBAL VARIABLES */
    end_point,
    total_area;
int    numtraps;
main( )
{
   void    input(void);
   float    find_area(float a,float b,int n); /* prototype */
   print("AREA UNDER A CURVE");
   input( );
   total_area = find_area(start_point, end_point, numtraps);
   printf("TOTAL AREA = %f", total_area);
}
void input(void)
{
   printf("\n Enter lower limit:");
   scanf("%f", &start_point);
   printf("Enter upper limit:");
   scanf("%f", &end_point);
   printf("Enter number of trapezoids:");
   scanf("%d", &numtraps);
}
float find_area(float a, float b, int n)
{
      floatbase, lower, h1, h2;    /* LOCAL VARIABLES */float function_x(float x);    /* prototype */float trap_area(float h1,float h2,floatbase);/*prototype*/base = (b-1)/n;
         lower = a;
       for(lower =a; lower <= b-base; lower = lower + base)
    {
    h1  =  function_x(lower);
             h1  =  function_x(lower + base);
             total_area += trap_area(h1, h2, base);
    }
return(total_area);
    float trap_area(float height_1,float height_2,floatbase)
        {
       float area;    /* LOCAL VARIABLE */
       area = 0.5 * (height_1 + height_2) * base;
         return(area);
    }
    float function_x(float x)
    {
         /* F(X) = X * X + 1 */return(x*x + 1);
    }
   
Output
    AREA UNDER A CURVE
    Enter lower limit: 0
    Enter upper limit:  3
    Enter number of trapezoids: 30
    TOTAL AREA   =  12.005000
    AREA UNDER A CURVE
    Enter lower limit: 0
    Enter upper limit: 3
    Enter number of trapezoids: 100
    TOTAL AREA = 12.000438
Solution in java ::
// hackerx sasi kamaraj college of engineering and technology 2910007 java Program
//The answer to be precise... although the type was a double, it rounds off the answer. Any help would be //appreciated...
//java code:  1. :: try this or the another one below this one
//Program code ::
public class Reimann 
 { 
     private static double integral(String s, double[] descriptors, double lb, double ub) 
     { 
   
         double area = 0; // Area of the rectangle 
         double sumOfArea = 0; // Sum of the area of the rectangles 
         double oldSumOfArea = 0; 
         double width = ub - lb;  
         boolean firstPass = true; 
           
         while ( (Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass ) 
         { 
               
             System.out.println((Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass); 
             if (s.equals("poly")) 
            { 
                 for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles 
                 { 
                     for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients 
                     {    
                         area = width * descriptors[j] * Math.pow ( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ), j);  
                         /*Above code computes area of each rectangle */
   
                         sumOfArea += area; 
  
                     } 
                 } 
             } 
             width = width / 2; 
             firstPass = false; 
             oldSumOfArea = sumOfArea;        
         } 
         return sumOfArea; 
     } 
       
     /*private static void runMyTests() 
     { 
         assert ( integral() <= 48.00001 ) && ( integral() >= 47.99999 ); 
     }*/
   
     public static void main (String [] args) 
     { 
         double lb = Double.parseDouble(args[args.length -2]); 
         double ub = Double.parseDouble(args[args.length -1]); 
   
         double[] coefficients = new double[args.length - 3]; 
   
         if (args[0].equals("poly")) 
        { 
             for (int i = 1; i < args.length - 2; i++) 
             { 
                coefficients[i-1] = Double.parseDouble(args[i]); 
            } 
   
             System.out.println(integral("poly", coefficients, lb, ub)); 
         } 
     } 
 }
Java  Program 2  ::
public class Riemann 
 { 
     private static double integral(String s, double[] descriptors, double lb, double ub) 
     { 
   
         double area = 0; // Area of the rectangle 
         double sumOfArea = 0; // Sum of the area of the rectangles 
         double oldSumOfArea = 0; 
         double width = ub - lb;  
         boolean firstPass = true; 
           
         while ( (Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass ) 
         { 
               
             System.out.println((Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass); 
             if (s.equals("poly")) // Statement for polynomial 
             { 
                 for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles 
                 { 
                     for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients 
                     {    
                         area = width * descriptors[j] * Math.pow ( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ), j);   
                         /*Above code computes area of each rectangle */
   
                         sumOfArea += area; 
   
                     } 
                } 
            } 
   
             else if (s.equals("sin")) // Statement for sin 
             { 
                 for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles 
                 { 
                     for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients 
                     {    
                         area = width * descriptors[j] * Math.sin(Math.toRadians(( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ))));   
                         /*Above code computes area of each rectangle */
   
                         sumOfArea += area; 
   
                     } 
                 } 
             } 
   
             else if (s.equals("cos")) // Statement for cos 
             { 
                 for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles 
                 { 
                     for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients 
                     {    
                         area = width * descriptors[j] * Math.cos(Math.toRadians(( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ))));   
                         /*Above code computes area of each rectangle */
   
                         sumOfArea += area; 
   
                     } 
                } 
             } 
   
             width = width / 2; 
             firstPass = false; 
             oldSumOfArea = sumOfArea;        
         } 
   
         return sumOfArea; 
     } 
       
     /*private static void runMyTests() 
     { 
         assert ( integral() <= 48.00001 ) && ( integral() >= 47.99999 ); 
     }*/
   
     public static void main (String [] args) 
     { 
         double lb = Double.parseDouble(args[args.length -2]); 
         double ub = Double.parseDouble(args[args.length -1]); 
   
         double[] coefficients = new double[args.length - 3]; 
   
         if (args[0].equals("poly")) 
         { 
             for (int i = 1; i < args.length - 2; i++) 
             { 
                coefficients[i-1] = Double.parseDouble(args[i]); 
             } 
   
            System.out.println(integral("poly", coefficients, lb, ub)); 
         } 
   
         else if (args[0].equals("sin")) 
         { 
             for (int i = 1; i < args.length - 2; i++) 
             { 
                 coefficients[i-1] = Double.parseDouble(args[i]); 
             } 
   
             System.out.println(integral("sin", coefficients, lb, ub)); 
         } 
   
         else if (args[0].equals("cos")) 
        { 
             for (int i = 1; i < args.length - 2; i++) 
            { 
                 coefficients[i-1] = Double.parseDouble(args[i]); 
             } 
  
             System.out.println(integral("cos", coefficients, lb, ub)); 
         } 
     } 
 }
Question ::
Area Under Curve