c – Cómo encontrar el valor par más grande de cada fila y el valor impar más pequeño de cada columna

Estoy trabajando en DevC++, y me han pedido que encuentre el elemento par más grande de cada fila y el valor impar más pequeño de cada columna de una matriz de 5×5. He intentado algo que me parecía lógico, pero que a la hora de correr el ejecutable no hace lo que se requiere. A continuación presento mi código:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

using namespace std;

int main ()
{
    printf("n Matriz:n");
        //En esta parte ya he llenado la matriz, ya sólo estoy mostrándola.
        for (int i = 0; i < fil; i++)
        {
            for (int j = 0; j < col; j++)
            {
                printf("%dt", matriz(i)(j));
            }
            printf("n");
        }

Aquí ya empieza la parte en donde presento el problema:

        printf("nVALORES IMPARES CHICOS DE CADA COLUMNA:n");
        for (int i=0;i<fil;i++)
        {
            min=matriz(0)(i);
            for (int j=0;j<col;j++)
            {
                if((matriz(i)(j)%2!=0)&&(matriz(j)(i)<min))/*Esto es lo que según yo intenté para que evaluara si era par y a su vez que evaluara cada valor de cada columna.
                {
                    min=matriz(j)(i);
                }
            }
            printf("%dt",min);
        }
        printf("n");
        
        
        printf("nVALORES PARES CHICOS DE CADA FILA:n");//Para las filas aún no hago la evaluación de las columnas.
        for (int j=0;j<col;j++)
        {
            min2=matriz(j)(0);
            for (int i=0;i<fil;i++)
            {
                if(matriz(j)(i)<min2)
                {
                    min2=matriz(j)(i);
                }
            }
            printf("%dt",min2);
        }
}

Entonces quisiera saber cómo es que puedo encontrar estos valores, ya que soy nuevo en esto y no he dado con ninguna.