// ALLOCATE A TWO-DIMENSIONAL SPACE, INITIALIZE, AND DELETE IT.
#include <exception> #include <iostream> using std::cout; using std::endl; void display(long double **); void de_allocate(long double **); int m = 3; // THE NUMBER OF ROWS. int n = 5; // THE NUMBER OF COLUMNS. int main(void) { long double **data; try { // TEST FOR EXCEPTIONS. data = new long double*[m]; // STEP 1: SET UP THE ROWS. for (int j = 0; j < m; j++) data[j] = new long double[n]; // STEP 2: SET UP THE COLUMNS } catch (std::bad_alloc) { // ENTER THIS BLOCK ONLY IF bad_alloc IS THROWN. // YOU COULD REQUEST OTHER ACTIONS BEFORE TERMINATING cout << "Could not allocate. Bye ..."; exit(-1); } for (int i = 0; i < m; i++) for (int j = 0; j < n; j++) data[i][j] = i + j; // ARBITRARY INITIALIZATION display(data); de_allocate(data); return 0; } void display(long double **data) { for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) cout << data[i][j] << " "; cout << "\n" << endl; } } void de_allocate(long double **data) { for (int i = 0; i < m; i++) delete[] data[i]; // STEP 1: DELETE THE COLUMNS delete[] data; // STEP 2: DELETE THE ROWS } |
LIST
'Borland' 카테고리의 다른 글
사각형 회전후 좌표 값 구하기 (0) | 2012.09.10 |
---|---|
Inserting Images into PowerPoint 2007 (0) | 2011.04.09 |
Shift의 의미 (0) | 2011.01.13 |
특정 파일이 있는 폴더 이름을 검색하는 함수 (0) | 2010.12.27 |
WideString 결과값과 HTML에서 표기 되는 유니코드값의 차이 (0) | 2010.04.22 |