Estuve leyendo un poco y la mejor forma es declarar un puntero bidimensional en main y pasar ese como referencia a la función, así queda el código (si funciona)
Código C++:
Ver original#include<iostream>
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
#define F 10
#define C 10
using namespace std;
void punto_silla (int **matriz)
{
int MinCol=100, ContCol=0;
int MaxFil=0, ContFil=0;
int PuntoS=0;
for (int j=0; j<C; j++)
{
for (int i=0; i<F; i++)
if (matriz[i][j]<=MinCol)
{
MinCol=matriz[i][j];
ContCol=i;
}
for (int j2=0; j2<C; j2++)
MaxFil=MaxFil>=matriz[ContCol][j2]?MaxFil:matriz[ContCol][j2];
if (matriz[ContCol][j]==MaxFil)
{
PuntoS++;
cout<<"Hay un punto de silla ("<<matriz[ContCol][j]<<") en:"<<endl;
cout<<"Fila: "<<j+1<<'t'<<"Columna: "<<ContCol+1<<endl;
}
}
cout<<"Hay "<<PuntoS<<" puntos de silla"<<endl;
}
void matriz_aleatoria(int **matriz)
{
for (int i=0; i<F; i++)
for (int j=0; j<C; j++)
matriz
[i
][j
]= rand()%100;
}
void escribe_matriz(int **matriz)
{
for (int i=0; i<F; i++)
for (int j=0; j<C; j++)
{
cout<<matriz[i][j]<<'t';
cout<<endl;
}
}
int main()
{
int matriz[F][C];
//Creamos puntero de la matriz para pasar el puntero:
int **pmatriz;
//Array de punteros a int (A las filas solamente)
pmatriz = new int*[F];
//F "Cajones" de C ints (Ahora a las columnas)
for(int x = 0; x < F; x++)
pmatriz[x] = new int[C];
matriz_aleatoria(pmatriz);
escribe_matriz(pmatriz);
punto_silla (pmatriz);
return EXIT_SUCCESS;
}