Aim: To implement a program to allocate memory dynamically for 2 dimensional array (accept and print matrix) using pointers.
Code:                       
#include
#include
class matrix
{
            int **p,r,c,i,j;
            public:
                        matrix(int,int);
                        ~matrix();
                        void getdata();
                        void display();
};
matrix::matrix(int x,int y)
{
            r=x;
            c=y;
            p=new int *[r];
            for(i=0;i
                        p[i]=new int [c];
}
matrix::~matrix()
{
            for(i=0;i
                        delete p[i];
            delete p;
            cout<<"\nMemory deallocated successfully\n";
}
void matrix::getdata()
{
            cout<<"\nEnter matrix values:\n";
            for(i=0;i
            {
                        cout<<"Enter values for row:"<
                        for(j=0;j
                                    cin>>p[i][j];
                        }
}
void matrix::display()
{
            cout<<"\nThe matrix is:\n";
            for(i=0;i
            {;
                        for(j=0;j
                                    cout<
                        cout<
            }
}
void main()
{
            int rows,cols;
            clrscr();
            cout<<"Enter number of rows and columns for a matrix\n";
            cout<<"Enter number of rows\n";
            cin>>rows;
            cout<<"Enter number of columns\n";
            cin>>cols;
            matrix A(rows,cols);
            A.getdata();
            A.display();
            getch();
}
Output:
Enter number of rows and columns for a matrix
Enter number of rows                                                           
3                                                                               
Enter number of columns                                                        
3                                                                              
Enter the values of the matrix                                                 
Enter values for row 1                                                         
1 2 3                                                                          
Enter values for row 2                                                         
4 5 6                                                                           
Enter values for row 3                                                         
7 8 9                                                                          
The matrix is                                                                   
1       2       3                                                              
4       5       6                                                              
7       8       9                                                               
Memory deallocated successfully