将1d矩阵模式设置为等于2d矩阵

时间:2012-02-01 02:20:21

标签: c++ c matrix

我有一个用代码创建的2d矩阵:

for(i=0; i < size; i++)
{
    for(j=0; j <size; j++)
    {
        a1[i][j] = i+1 + j+2;
    }
}

我试图在由以下内容创建的矩阵中复制该模式:

double*
a = malloc(sizeof(double)*randk*randk);

我似乎无法弄清楚如何定义相同的模式。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

你的意思是创建相同的数字模式?那只是:

for(int i = 0; i < randk; ++i)
  for(int j = 0; j < randk; ++j)
    a[i * randk + j] = i + j + 3;

或者如果您更喜欢单循环:

for(int i = 0; i < randk * randk; ++i)
  a[i] = (i / randk) + (i % randk) + 3;