【问题标题】: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

你能帮帮我吗? (对不起我的英语不好)

【问题讨论】:

  • 为什么棋盘在国际象棋中,我们使用所有情况,棋盘游戏只使用一种特定颜色的情况。

标签: c++ matrix vector return


【解决方案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:你应该问另一个问题。
猜你喜欢
  • 1970-01-01
  • 2018-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多