Introduction This article discusses about the Two Dimensional To Three Dimensional conversion and vice versa in c++ The following program converts two dimensional array to three dimensional array using TwoDimToThree() and converts three dimensional array to two dimensional array ussing ThreeDimToTwo() . Code: #include<iostream> using namespace std; void TwoDimToThree(); void ThreeDimToTwo(); main() { cout<<"If u want to convert 2d array to 3d array enter 1 "<<endl; cout<<endl<<"If u want to convert 3d array to 2d array enter 2 "<<endl; int n; cin>>n; if(n==1) TwoDimToThree(); else ThreeDimToTwo(); } void TwoDimToThree() { cout<<"Enter the no. of rows and column for 2d array "<<endl; int Row,Col; cin>>Row>>Col; cout<<"Enter "<<Row*Col<<" elements for the 2d array"<<endl; int i,j,k,a[Row][Col],b[Row][Row][Col]; for(i=0;i<Row;i++) for(j=0;j<Col;j++) cin>>a[i][j]; cout<<"The elements of 2d array are "<<endl; for(i=0;i<Row;i++) for(j=0;j<Col;j++) cout<<"a["<<i<<"]["<<j<<"] = "<<a[i][j]<<endl; cout<<"The elements of 3d array are "<<endl; for(i=0;i<Row;i++) { for(j=0;j<Row;j++) for(j=0;j<Row;j++) { for(k=0;k<Col;k++) { b[i][j][k]=a[j][k]; cout<<"b["<<i<<"]["<<j<<"]["<<k<<"] = "<<b[i][j][k]<<endl; } } } } void ThreeDimToTwo() { cout<<"Enter the no. of rows , column , length of 3d array "<<endl; int Row,Col,Len; cin>>Row>>Col>>Len; cout<<"Enter "<<(Row*Col)*Len<<" elements"<<endl; int a[Row][Col][Len],b[Row][Row*Col]; int i,j,k; for(i=0;i<Row;i++) for(j=0;j<Col;j++) for(k=0;k<Len;k++) cin>>a[i][j][k]; int l=0,m=0,p; cout<<"Elements of the three dimensional array are "<<endl; for(i=0;i<Row;i++) { for(j=0;j<Col;j++) { for(k=0;k<Len;k++) { b[l][m]=a[i][j][k]; cout<<"a["<<i<<"]["<<j<<"]["<<k<<"] = "<<a[i][j][k]<<endl; m++; p=m; } } m=0,l++; } cout<<endl<<"Elements of two dimensional array are "<<endl; for(i=0;i<l;i++) { for(j=0;j<p;j++) cout<<"b["<<i<<"]["<<j<<"] = "<<b[i][j]<<endl; } }