for (int i = 0; i < array.Length; i++)
{
if ((array[i] > 0) && (array[i] % 3 == 0))
{
array[i] = r;
}
}
Массив в переменной array, число R -- в переменной r. Длина массива берется из свойства array.Length (в таком случае точно не произойдет выход за границы массива), при желании можно поменять array.Length на значение N.
Проверить можешь на https://dotnetfiddle.net/stw5ke