Pezzi di codice decontestualizzati non ci aiutano molto ad aiutarti, la prossima volta posta il codice per intero.
In ogni caso se devi trovare il massimo per ogni colonna della matrice, rispetto al post iniziale ti stai allontanando sempre più dalla soluzione.
Posto il tuo codice, le righe evidenziate sono quelle che devi aggiustare:
for(int j = 0; j < c; j++)
{
max[j] = 0;//***
for(int i = 0; i < r; i++)//***
{
if(mat[i][j] > max[j])
{
max[j] = mat[i][j];
}
}
printf("Il massimo della colonna %d e': %d\n", i + 1, max[j]);//***
}
Domanda: qual è la dimensione dell'array max?