C++ Programming Tutorial

 
 
 
 

Image

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

 const int max_size=13;

 int n=0;

 long double x[max_size]={0};
 long double divided_difference_table[max_size][max_size]={0};

 void show_screen( );
 void clear_screen( );
 void get_input( );
 void construct_divided_difference_table( );
 void show_divided_difference_table( );

 int main( )
    {
       clrscr( );
       textmode(C4350);

       show_screen( );
       get_input( );
       construct_divided_difference_table( );
       show_divided_difference_table( );

       return 0;
     }



 //--------------------------  show_screen( )  ---------------------------//


 void show_screen( )
    {
       cprintf(\"\\n********************************************************************************\");
       cprintf(\"*************************-                            -*************************\");
       cprintf(\"*------------------------- \");

       textbackground(1);
       cprintf(\" Divided Difference Table \");
       textbackground(8);

       cprintf(\" -------------------------*\");
       cprintf(\"*************************-                            -*************************\");
       cprintf(\"********************************************************************************\");

       for(int count=0;count<42;count++)
      cprintf(\"*                                                                              *\");

       gotoxy(1,46);
       cprintf(\"********************************************************************************\");
       cprintf(\"*------------------------------------------------------------------------------*\");
       cprintf(\"********************************************************************************\");

       gotoxy(1,2);
    }


 //-------------------------  clear_screen( )  ---------------------------//


 void clear_screen( )
    {
       for(int count=0;count<37;count++)
      {
         gotoxy(3,8+count);
         cout<<\"                                                                            \";
      }

       gotoxy(1,2);
    }


 //-----------------------------  get_input( )  --------------------------//


 void get_input( )
    {
       do
      {
         clear_screen( );

         gotoxy(6,9);
         cout<<\"Number of Distinct Data Points :\";

         gotoxy(6,10);
         cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

         gotoxy(27,13);
         cout<<\"[ min. n = 2  |  max. n = 12 ]\";

         gotoxy(6,12);
         cout<<\"Enter the max. number of distinct data points = n = \";

         cin>>n;

         if(n<2 || n>12)
        {
           gotoxy(12,25);
           cout<<\"Error : Wrong Input. Press <Esc> to exit or any other key\";

           gotoxy(12,26);
           cout<<\"        to try again.\";

           n=int(getche( ));

           if(n==27)
              exit(0);
        }
      }
       while(n<2 || n>12);

       clear_screen( );

       gotoxy(6,9);
       cout<<\"Data Points & Values of Function :\";

       gotoxy(6,10);
       cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

       gotoxy(25,12);
       cout<<\"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\";

       gotoxy(25,13);
       cout<<\"³       x       ³     f(x)      ³\";

       gotoxy(25,14);
       cout<<\"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\";

       gotoxy(25,15);
       cout<<\"³               ³               ³\";

       for(int count_1=0;count_1<n;count_1++)
      {
         gotoxy(25,(wherey( )+1));
         cout<<\"³               ³               ³\";

         gotoxy(25,(wherey( )+1));
         cout<<\"³               ³               ³\";
      }

       gotoxy(25,(wherey( )+1));
       cout<<\"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\";

       gotoxy(25,15);

       for(int count_2=0;count_2<n;count_2++)
      {
         gotoxy(25,(wherey( )+1));

         gotoxy(27,wherey( ));
         cin>>x[count_2];

         gotoxy(43,(wherey( )-1));
         cin>>divided_difference_table[0][count_2];
      }

       gotoxy(25,43);
       cout<<\"Press any key to continue...\";

       getch( );
    }


 //---------------  construct_divided_difference_table( )  ---------------//


 void construct_divided_difference_table( )
    {
       for(int count_1=1;count_1<n;count_1++)
      {
         for(int count_2=count_1;count_2<n;count_2++)
        {
           long double fx1=divided_difference_table[(count_1-1)][(count_2-1)];
           long double fx2=divided_difference_table[(count_1-1)][count_2];
           long double x1=x[(count_2-count_1)];
           long double x2=x[count_2];

           divided_difference_table[count_1][count_2]=((fx2-fx1)/(x2-x1));
        }
      }
    }


 //------------------  show_divided_difference_table( )  -----------------//


 void show_divided_difference_table( )
    {
       clear_screen( );

       gotoxy(4,10);
       cout<<\"Divided Difference Table :\";

       gotoxy(4,11);
       cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

       gotoxy(4,13);
       cout<<\"ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\";

       gotoxy(4,14);
       cout<<\"³   x    ³     f(x)      \";

       gotoxy(4,15);
       cout<<\"ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\";

       gotoxy(4,16);
       cout<<\"³        ³              \";

       int x_cord=4;
       int y_cord=17;

       for(int count_1=0;count_1<n;count_1++)
      {
         gotoxy(x_cord,y_cord);
         cout<<\"³        ³              \";

         gotoxy(x_cord,(y_cord+1));
         cout<<\"³        ³              \";

         gotoxy((x_cord+2),y_cord);
         cout<<x[count_1];

         gotoxy((x_cord+11),y_cord);
         cout<<divided_difference_table[0][count_1];

         y_cord+=2;
      }

       gotoxy(x_cord,y_cord);
       cout<<\"ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\";

       x_cord=28;

       int count_2=0;

       for(int count_3=1;count_3<n;count_3++)
      {
         gotoxy(x_cord,13);
         cout<<\"ÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\";

         gotoxy(x_cord,14);
         cout<<\"³\";

         gotoxy(x_cord,15);
         cout<<\"ÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\";

         gotoxy(x_cord,16);
         cout<<\"³\";

         gotoxy(x_cord,y_cord);
         cout<<\"ÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\";

         gotoxy((x_cord+6),14);
         cout<<count_3;

         if(count_3==1)
        cout<<\"st\";

         else if(count_3==2)
        cout<<\"nd\";

         else if(count_3==3)
        cout<<\"rd\";

         else
        cout<<\"th\";

         y_cord=17;

         for(int count_4=0;count_4<n;count_4++)
        {
           gotoxy(x_cord,y_cord);
           cout<<\"³\";

           gotoxy(x_cord,(y_cord+1));
           cout<<\"³\";

           if(count_4>=count_3)
              {
             gotoxy((x_cord+2),(y_cord-count_3));
             cout<<divided_difference_table[count_3][count_4];
              }

           y_cord+=2;
        }

         x_cord+=16;
         count_2++;

         if((count_2%3)==0 && count_3<(n-1))
        {
           gotoxy(x_cord,13);
           cout<<\"ÂÄÄ\";

           gotoxy(x_cord,14);
           cout<<\"³\";

           gotoxy(x_cord,15);
           cout<<\"ÅÄÄ\";

           gotoxy(x_cord,16);
           cout<<\"³\";

           gotoxy(x_cord,y_cord);
           cout<<\"ÁÄÄ\";

           y_cord=17;

           for(int count_5=0;count_5<n;count_5++)
              {
             gotoxy(x_cord,y_cord);
             cout<<\"³\";

             gotoxy(x_cord,(y_cord+1));
             cout<<\"³\";

             y_cord+=2;
              }

           gotoxy(30,44);
           cout<<\"Press any key to continue...\";

           getch( );

           y_cord=13;
           x_cord=28;

           for(int count_6=0;count_6<=(n+2);count_6++)
              {
             gotoxy(x_cord,y_cord);
             cout<<\"                                                   \";

             gotoxy(x_cord,(y_cord+1));
             cout<<\"                                                   \";

             y_cord+=2;
              }

           y_cord-=2;
           count_2=0;
           count_3--;
        }
      }

       gotoxy(x_cord,13);
       cout<<\"¿\";

       gotoxy(x_cord,14);
       cout<<\"³\";

       gotoxy(x_cord,16);
       cout<<\"³\";

       y_cord=17;

       for(int count_6=0;count_6<n;count_6++)
      {
         gotoxy(x_cord,y_cord);
         cout<<\"³\";

         gotoxy(x_cord,(y_cord+1));
         cout<<\"³\";

         y_cord+=2;
      }

       gotoxy(x_cord,15);
       cout<<\"\";

       gotoxy(x_cord,y_cord);
       cout<<\"Ù\";

       gotoxy(10,44);
       cout<<\"Press \'V\' to view D.D. Table again or any other key to exit.\";

       char Option=NULL;

       Option=getch( );

       if(Option==\'v\' || Option==\'V\')
       show_divided_difference_table( );

       gotoxy(1,2);
    }

    Related Post:
  1. Program to convert a Postfix Expression into an Infix Expression

  2. Program to show the projection of 3D objects using Cabinet Oblique Parallel Projection onto xy-plane (i.e. angle=30 deg)

  3. Tic-Tac-Toe game

  4. Program to read a Non-Linear equation in one variable, then evaluate it using Bisection Method and display its kD accurate root

  5. Program to print a string char by char using constant pointers to non-constant data

  6. Program to illustrate unary operator increment operator overloading with return type

  7. Example of Date

  8. Library system using pointers

  9. Program of parser 2

  10. Program to illustrate constant objects and constant member functions

  11. Program to illustrate the role of constructor in classes

  12. Program to show the 3D Reflection Transformation along xy-plane

  13. Program to read a Linear System of Equations,then evaluate it by using Gauss-Elimination Method and show the result

  14. Program to create a queue using static memory allocation

  15. Program to draw a line using Bresenhams Line Algorithm (BLA) for lines with slopes negative and less than 1

  16. Program to implement a Translator that reads an Infix Expression translates it into a Postfix Expression and evaluate the Postfix Expression

  17. Program to illustrate the use of pointer to pointers

  18. Program to illustrate the implementation of Stack as an Arithmetic Expression Evaluater

  19. Program to initialize array by even numbers starting from 2 and display sum of all elements

  20. Program to illustrate unary operator (increment operator) overloading without return type