具有一维向量的矩阵
Posted
技术标签:
【中文标题】具有一维向量的矩阵【英文标题】:Matrix with 1d vector 【发布时间】:2021-03-16 11:18:52 【问题描述】:我表示一个像棋盘一样的 n*m 矩阵。
1 0 2 0
0 3 0 4
5 0 6 0
0 7 0 8
我不需要将零存储在我的一维向量中。
向量 v = 1, 2, 3, 4.. 等
我向用户询问行号和列号。 我怎么能和我一起回来。第 j 行。列元素?
如果 (i+j) % 2 != 0
我返回 0,但我不知道何时需要做什么
(i+j) % 2 == 0
你能帮帮我吗? (对不起我的英语不好)
【问题讨论】:
为什么棋盘在国际象棋中,我们使用所有情况,棋盘游戏只使用一种特定颜色的情况。 【参考方案1】:使用存储为一维向量的常规矩阵,索引坐标为:
(i + j * width)
(或i * height + j
,取决于约定)。
一半大小写为 0,你只需要除以 2:
if ((i + j) % 2 != 0) return 0;
else return data[(i + j * width) / 2];
【讨论】:
@Caleth:不。它应该适用于偶数或奇数宽度。 你能帮我怎样才能像这样乘以 2 矩阵吗?我在纸上推断出来,但我没有弄清楚逻辑:( @PuN1Sh3r:你应该问另一个问题。以上是关于具有一维向量的矩阵的主要内容,如果未能解决你的问题,请参考以下文章