Aquí tienes tu código resuelto con los fallos indicados, algunos consejos y un poquito más organizado, cualquier duda que tengas sigue consultándola en el foro
Código C++:
Ver original#include<stdio.h>
// #include <math.h> -> Inncesario para el programa que estás ejecutando
// #include <conio.h> -> Lo he quitado porque en mi Ubuntu no tengo está cabecera, vuelve a ponerlo si deseas utilizar getch()
// Intenta ser organizado sobre todo si estás empezando a programar, te ayudará a entender mejor las cosas
// Declaración de funciones globales
int i,j; // Existe la posibilidad de poner int i=0 en los bucles for de tal manera que cuando se acabe el bucle la variable i desaparece.
// Yo soy más partidario de crear una i local para cada bucle pero no afecta en absoluto al funcionamiento de tu programa
// Mira luego abajo del todo en las definiciones
void llenar(int f,int c,int x[][10]);
void mostrar(int f,int c,int x[][10]);
// Inicio del programa
main () {
// Declaración/inicialización de variables
char op;
int a[10][10]={'\0'},i,j,k,temp,nf,nc;
// E/S y Cómputo de datos
printf("Que tamaño tiene la matriz:\na = 2x2\nb =3x3\n"); switch(op)
{ /* Mejora 1: ¿Para qúe seleccionar opción si luego hay que introducir el número de filas y columnas? */
/* Mejora 2: Controla que en ningún momento 'nf' ni 'nc' supere el valor 10 ya que el máximo de valores para tu matriz con arrays es 10x10 */
case 'a':
case 'A':
printf("\nseleccionastes una matriz de 2x2\n"); printf("\ndame el numero de fila y columnas de la matriz:\n"); // Mejor "columnas" que "comulumnas" printf("\nllenando la matriz x\n"); llenar(nf, nc, a); // Al llamar las funciones no se pone el tipo de dato, tampoco el parámetro. Los tipos de datos
mostrar(nf, nc, a); // se ponen en la declaración (lo que tienes antes del main) y en la definición (lo que tienes después del main
// Al usar un array como parámetro actual (en este caso a, no se pone 'a[10][10]' o lo que corresponda, sólo 'a')
// Al usar un array como parametro formal (en la declaración y/o definición si se pone)
// Me he tomado la libertad de quitar muchos corchetes innecesarios
break;
case 'b':
case 'B':
printf("\nsleccionastes una matriz de 3x3\n"); // Todo similar al caso A printf("\ndame el numero de fila y columnas de la matriz:\n"); printf("\nllenando la matriz x\n"); llenar(nf, nc, a);
mostrar(nf, nc, a);
break;
}
// Getch(); Lo quite porque no tengo la cabecera lo expliqué arriba del todo
return 0;
} // Fin del programa
// Definición de funciones
void llenar(int f,int c,int x[][10]) {
for(i=0;i<f;i++) //Al acabarse i y j siguen existiendo
for (j=0;j<c;j++)
{
}
}
void mostrar(int f,int c,int x[][10]) {
for(int i=0;i<f;i++) //Al acabarse el bucle i y j dejan de existir
{
for (int j=0;j<c;j++)
}
}