Powinno być:
if (tab [l] > max) {
max = tab [l];
}
Ponieważ porównywałeś non stop do pierwszego elementu w tablicy.
Warto wspomnieć że ten if(i == 4) jest w pełni niepotrzebny i nie optymalny.
Lepszym pomysłem jest aby po skończeniu pętli kontynuować a nie w trakcie pętli sprawdzać i w odpowiednim momencie wykonać.
Tu masz cały gotowy kod:
static void Main (string[] args)
{
int[] tab = new int[5];
for (int i = 0; i < tab.Length; i++) {
Console.Write ("Wpisz {0} indeks tablicy: ", i);
int liczba = int.Parse (Console.ReadLine ());
tab [i] = liczba;
}
Console.Write ("Wartości tablicy w koleności wpisywania: ");
for (int j = 0; j < tab.Length; j++)
Console.Write (tab [j]);
Console.WriteLine ();
Console.Write ("Wartości tablicy w odwrotnej kolejności: ");
Array.Reverse (tab); //odwróć tablicę
for (int k = 0; k < tab.Length; k++)
Console.Write (tab [k]);
Console.WriteLine ();
int max = tab [0];
Console.Write ("Największa wartość tablicy to liczba ");
for (int l = 0; l < tab.Length; l++)
if (tab [l] > max)
max = tab [l];
Console.Write (max);
Console.ReadKey ();
}