Selasa, 05 Maret 2013

Metode Bisection

// Hafizt Maulana Ghojali
// 201181072
// Seksi 2

#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<math.h>


using namespace std;
int main()
{
    float XL,XR,E,FXL,FXR,XT,FXT;
    XL=3; XR=6;  E=0.01;
    int n=1;
    FXT=fabs(FXT);
    printf("\nE = %1.4f\n\n",E);
    printf("No. |  XL   |    XR  |  F(XL)  |  F(XR) |   XT   |   F(XT) |  |F(XT)|<= E\n\n");
    why:
    FXL=pow(XL,2)-6*(XL)+8;
    FXR=pow(XR,2)-6*(XR)+8;

    XT=(XL+XR)/2;
    FXT=pow(XT,2)-6*(XT)+8;

    printf("%d.   %1.4f,  %1.4f,  %1.4f,  %1.4f,  %1.4f,  %1.4f\n",n,XL,XR,FXL,FXR,XT,FXT);


 if (    (FXL*FXR) < 0 )
 {
   if ( fabs(FXT) <= E )
     {
         printf("\nSolusi (XT)= %1.4f",XT);
         printf("\nBatas terakhir loopingnya adalah = %d",n );
        
     }

   else
     {
       if ( (FXL*FXT) > 0 )
          {
              XL = XT; XR = XR;
              n=n+1;
              goto why;
          }
       else
          {
             XR = XT; XL = XL;
             n=n+1;
             goto why;
          }
     }
 }

 else
 {
     cout<<"\nTidak Memenuhi Persyaratan";
 }
    getch();

}

Tidak ada komentar:

Posting Komentar