Satır sayısını (sabit olan) bildiğim bir ızgara verildiğinde ve sütunların geçerli sayısını (isteğe göre büyüyebilir) biliyorum, bir dizinin satırını ve sütununu bu dizinden nasıl hesaplayabilirim?Çubuk pozisyonundan satır/sütun nasıl hesaplanır?
final int mRowCount = /* something */;
int mColCount;
Ve bazı fonksiyon verilmiş:
+ + + + +
Cols ---> | 0 | 1 | 2 | 3 | ...
+--+---|---|---|---|---
0 | 0 | 3 | 6 | 9 | ...
+--+---|---|---|---|---
Rows 1 | 1 | 4 | 7 | A | ...
+--+---|---|---|---|---
2 | 2 | 5 | 8 | B | ...
+--+---|---|---|---|---
. . . . . ...
. . . . . .
. . . . . .
Yani
, verilenprivate void func(int index) {
int row = index % mRowCount;
int col = ???
nasıl doğru col
hesaplarım? Hem sütunların hem de satırların bir işlevi olmalı, eminim. Ama beynim benden korkuyor. Örnek: index == 4
, row = 1
, col = 1
. index == 2
ise row = 2
, col = 0
.
Teşekkürler. Bir çarpma ile değiştirerek
int col = index/mRowCount;
tek bir bölümü ile sınırlamak mümkün olacaktır (modül işlemi ortadan kaldırmak):