如何从索引中获取行和列?

Ice*_*000 13 matrix

我在这里画了一个巨大的空白.

我发现的一切都是关于从给定的行和列获取索引,但是如何从索引中获取行和列?

这行很简单:(int)(index / width).

试图计算色谱柱时,我的大脑正在遭受大量流血.

对我感到羞耻.

pax*_*blo 37

对于从零开始的索引,这两个操作是:

row    = (int)(index / width)
column = index % width
Run Code Online (Sandbox Code Playgroud)

我在%这里使用,因为我是一个C人,虽然你还没有指定你的语言,但它肯定看起来像是一个基于C的人.

如果你的问题与C或其兄弟无关,那么无论模数运算符是针对你的特定环境的,它都是什么,剩下的就是当你除以时剩下indexwidth.

如果你不具备模运算符,你可以使用:

row    = (int)(index / width)
column = index - (row * width)
Run Code Online (Sandbox Code Playgroud)


Nic*_*ert 10

Paxdiablo的答案是正确的.如果有人需要反向流程来从行和列获取索引:

index = (row * width) + column
Run Code Online (Sandbox Code Playgroud)

  • 来到这里希望有一个反向公式,得到一个.谢谢!对于错误值的人:我必须做`((row - 1)*width)+(col - 1)`,使`row`和`col`从零开始. (2认同)