Способ
Daria Motorina вполне себе рабочий, а способ
one pavel более близок к вашей реализации, но я все же предложу свой код.
uint i = 0;
double[] m = new double[10];
Console.WriteLine("Введите {0} значений:", m.Length);
do
{
Console.Write("{0}: ", i + 1);
m[i] = Convert.ToDouble(Console.ReadLine());
i++;
}
while (i < m.Length);
int j = Array.FindLastIndex(m, (double d) => d > 0);
Console.WriteLine("Последнее положительное число в массиве - {0} имеет номер - {1}.", m[j], j+1);
Создаем массив способом как у вас, а далее можно использовать метод Array.FindLastIndex передав ему в качестве первого элемента сам массив, а в качестве второго условие поиска. Метод найдет последний элемент больше нуля и вернет его позицию в массиве. По этому номеру позиции можно запросить уже само число из массива и его же использовать в вашем выводе.