我有一个用代码创建的二维矩阵:
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);
我似乎无法弄清楚如何定义相同的模式。
最佳答案
您是说要创建相同的数字模式?就是这样:
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;