// created by Justin C. Miller
// created on 10-2-2001
// created for http://www.geocties.com/neonprimetime.geo/index.html

#include 
#include 

using namespace std ;

// ASSUME DATA FILE myData.txt looks like so...
/*
5
4
4 6 7 1
3 4 1 3
9 8 2 1
5 1 0 2
5 9 2 9
*/

// CREATE OBJECT TO MANIPULATE DATA FILE myData.txt
ifstream inFile ;

int main(){
	// OPEN DATA FILE
	inFile.open("myData.txt", ios::in) ;

	// VARIABLES HOLDING THE ROWS, COLUMNS, and used in for loops
	int nrows ;
	int ncolumns ;
	int i , j ;

	// READ ROWS AND COLUMNS IN FROM DATA FILE
	inFile >> nrows ;
	inFile >> ncolumns ;

	// CREATE 2D ARRAY IN THE HEAP
	int **array1 = (int **)malloc(nrows * sizeof(int *));
	for(i = 0; i < nrows; i++)
		array1[i] = (int *)malloc(ncolumns * sizeof(int));

	// READ DATA FROM THE FILE INTO MY 2D ARRAY
	for(i = 0 ; i < nrows ; i++)
		for(j = 0 ; j < ncolumns ; j++)
			inFile >> array1[i][j] ;

	// OUTPUT MY 2D ARRAY
	for(i = 0 ; i < nrows ; i++){
		for(j = 0 ; j < ncolumns ; j++)
			cout << array1[i][j] << " " ;
		cout << endl ;
	}

	// CLOSE MY DATA FILE
	inFile.close() ;
	return 0 ;
}

    Source: geocities.com/neonprimetime.geo/cpp/cpp_SourceCode

               ( geocities.com/neonprimetime.geo/cpp)                   ( geocities.com/neonprimetime.geo)