Не получается получить все положительные числа из массива. Что не так?
Может уже пора на LINQ ?int[] num = { 5, -7, -1, 3, 9};
Console.WriteLine("Сумма всех положительных чисел: {0}",  num.Where(i => i > 0).Sum());
Кроме того, как написали выше, что ты упускаешь нулевой элемент, ты так же поймаешь исключение IndexOutOfRange, потому что попытаешься обратиться к элементу массива с индексом 5, которого у тебя нет. Так же тебе нужно вынести int nm из цикла и инициализировать нулем, иначе каждую итерацию с положительным числом у тебя будет сбрасываться сумма. 
Сonsole.WriteLine("Сумма всех положительных числе:" + nm); - это тоже стоит написать после цикла, а не внутри него, а то у тебя сейчас выводится каждое положительное число отдельно.
В итоге, это должно выглядеть вот так:
class Pragram
    {
        static void Count()
        {
            int[] num = { 5, -7, -1, 3, 9 };
            int nm = 0;
            for (int i = 0; i < num.Length; i++)
            {
                int number = num[i];
                if (number > 0)
                {
                    nm += number;
                }
            }
            Console.WriteLine("Сумма всех положительных числе:" + nm);
        }
        static void Main()
        {
            Count();
            Console.ReadLine();
        }
    }