I have 2 arrays. I want to convert the index of the first array to the second. Is there a better way to do it than what I have below?
Array array1[9];
Array
Just in case someone wonders for Javascript.
var columnCount = 3
for(var i=0; i < 10; i++){
var row = Math.floor(i/ columnCount )
var col = i % columnCount
console.log(i, row, col)
}
I assume your running that code in a loop? If so
IEnumerable<Point> DoStuff(int length, int step) {
for (int i = 0; i < length; i++)
yield return new Point(i/step, i%step);
}
Call it
foreach (var element in DoStuff(9, 3))
{
Console.WriteLine(element.X);
Console.WriteLine(element.Y);
}
p.x = index / 3;
p.y = index % 3;
You can do this mathematically using modulus and integer division, given your second array is a 3x3 array the following will do.
p.y = index % 3;
p.x = index / 3;