33

ここに巨大な空白を描いています。

私が見つけたすべては、特定の行と列からインデックスを取得することに関するものですが、インデックスから行と列を取得するにはどうすればよいでしょうか?

行は簡単です: (int)(index / width).

私の脳は、列を計算しようとして大量の出血に苦しんでいます。

私を恥じてください。

4

4 に答える 4

67

ゼロから始まるインデックスの場合、2 つの操作はwidth次のとおりです。 は構造体の幅です。

row    = index / width
column = index % width

これらは、除算が切り捨てられ、%剰余演算子が剰余を与える、整数を使用する C 用です。C を使用していない場合は、同等の操作に変換する必要がある場合があります。

モジュロ演算子がない場合は、次を使用できます。

row    = index / width
column = index - (row * width)
于 2012-08-06T02:36:03.233 に答える