码迷,mamicode.com
首页 > 编程语言 > 详细

传递二维数组

时间:2019-11-04 13:09:20      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:写法   ack   二维数组   temp   under   text   文件   地址   方法   

int m[][4] = { 
		{0,0,0,1},
		{1,0,0,1},
		{0,0,1,0} };

	
Mtriple<int> t(3, 4, (int*)m);

  在传递任意行和列的二维数组时,可以采取在main函数中写成上述形式的方法

而头文件中写的函数要通过地址找到值

template<class DataType>
inline Mtriple<DataType>::Mtriple(int mrow,int mcol, DataType *m)
{    int cnt=0;
        this->mrow = mrow;
	this->mcol = mcol;
	for (int i = 0; i < mrow; i++) {
		for (int j = 0; j < mcol; j++) {
			if (*(m+i*mcol+j) != 0) {
                            this->data[++cnt].row = i+1;
			    this->data[cnt].col = j+1;
			    this->data[cnt].e = *(m + i * mcol + j);
			    cout << this->data[cnt].row << " " << this->data[cnt].col << " " << this->data[cnt].e << endl;
			}
		}
	}
	
}                

  当然固定行列的写法只需要main 函数里

fun(m);

函数里

void fun(int m[3][4]) {
	for (int i = 0; i < 3; i++)
		for (int j = 0; j < 4; j++)
			cout << m[i][j];
}

  

 

传递二维数组

标签:写法   ack   二维数组   temp   under   text   文件   地址   方法   

原文地址:https://www.cnblogs.com/kazama/p/11791472.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!