二维矩阵申请和释放

//TwoDimension.h
#ifndef _TWO_
#define _TWO_
#include <iostream>
int** AllocateBuffer(int xDimension, int yDimension);
void ReleaseBuffer(int** myArray, int xDimension);
void InitializeMatrix(int** myArray,int xDimension,int yDimension);
void DisplayMatrix(int** myArray, int xDimension, int yDimension);
#endif


//TwoDimension.cpp
#include "TwoDimension.h"
using namespace std;
int** AllocateBuffer(int xDimension, int yDimension)
{
 int** temp = new int* [xDimension];
 for (int i = 0;i < xDimension; ++i)
 {
  temp[i] = new int [yDimension];
 }
 
 return temp;
}

void ReleaseBuffer(int** myArray, int xDimension)
{
 for (int i = 0; i < xDimension ; ++i)
 {
  delete [] myArray[i];
  myArray[i] = NULL;
 }

 delete [] myArray;
 myArray = NULL;
}

void InitializeMatrix(int** myArray, int xDimension, int yDimension)
{
 for (int i = 0; i < xDimension; ++i)
  for (int j = 0; j < yDimension; ++j)
   myArray[i][j] = ((i==j)||(j==yDimension-1))?1:0;
}

void DisplayMatrix(int** myArray, int xDimension, int yDimension)
{
 for (int i = 0; i < xDimension; ++i)
 {
  for (int j = 0; j < yDimension; ++j)
   cout<< myArray[i][j];
  cout<<endl;
 }
}




 

//test.cpp
#include "TwoDimension.h"
using namespace std;
void main()
{
 int** matrix;
 int L;
 cout<<"input L:"<<endl;
 cin>>L;
 int xDimension = 2*L;
 int yDimension = 2*L + 1;
 matrix = AllocateBuffer(xDimension,yDimension);

 InitializeMatrix(matrix,xDimension,yDimension);
 DisplayMatrix(matrix,xDimension,yDimension);

 ReleaseBuffer(matrix,xDimension);

}


转载于:https://www.cnblogs.com/hitszxin/archive/2008/04/10/1146867.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值