122  4.     

  array_2d.cpp

//  
struct twod {

double**  base;             // 

int  row_size, column_size; //   

^

S  ,

      .  base  -
    double.  base    
,         
 .

row_8ize

column_size

baze)		0	1			
						L-^J
						"~
						
			1			
size - 1		0-^				...I |

row size

    ,   allocate ()  -
 new      ,     -
     .    
 .

void allocate(int r, int s, twod& m)
{

m.base = new double*[s];

for (int i = 0; i < s; ++i)
m.base[i] = new double[r];

m.row_size = r;

m.column_size = s;

}

void deallocate(twod& m)
{

for (int i = 0; i < m.column_size; ++i)
delete [] m.base[i];

delete [] m.base;

m.row_size = 0;

m.column_size = 0;

}

   find_max ()     
   .

double find_max(const twod& m)