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