#include <iostream>
using namespace std;

int main(){
	int V=101;
	int *P=&V;
	int **Q=&P;
	cout<<"Value through V: "<<V<<endl;
	cout<<"Value through P: "<<*P<<endl;
	cout<<"Value through Q: "<<**Q<<endl<<endl;
	int rows=3;
	int cols=4;
	int **matrix=new int*[rows];
	for(int i=0;i<rows;i++){
		matrix[i]=new int[cols];
	}
	int counter=1;
	for(int i=0;i<rows;i++){
		for(int j=0;j<cols;j++){
			matrix[i][j]=counter;
			counter++;
		}
	}
	cout<<"The 2D Array ("<<rows<<"x"<<cols<<"):"<<endl;
	for(int i=0;i<rows;i++){
		for(int j=0;j<cols;j++){
			cout<<matrix[i][j]<<"\t";
		}
		cout<<endl;
	}
	for(int i=0;i<rows;i++){
		delete[] matrix[i];
	}
	delete[] matrix;
	cout<<"\nMemory was cleared successfully!"<<endl;
	return 0;
}
