hola nattadsa,
el programa lo llevas bien, hasta que cuentas las ocurrencias de los numeros,
fijate en el bucle for pues no tiene mucho sentido comparar con el opuesto en indices si lo que quieres es contar las ocurrencias de un numero.
lo que he hecho yo es ir contando cada numero (recorriendo cada valor de fila, columna) por todas las filas y columnas, es decir lo recorro dos veces por decirlo de alguna manera, cuento primero el cero y asi lo utilizo para descartar los que ya he contado.
Código c:
Ver original#include <stdio.h>
int main(void){
// ----------------------------------------------------------definir
int fila, colum, cero=0;
printf("MATRIZ [fila][colum]: \n\n"); printf("Cantidad de filas: "); printf("Cantidad de columnas ");
int numero[fila][colum];
int contador[fila][colum];
// ---------------------------------------------------------rellenar
for(int f=0; f<fila; f++){
for(int c=0; c<colum; c++){
printf("Ingresar valor en [%i][%i]: ", f
+1, c
+1); scanf("%i", &numero
[f
][c
]); if(!numero[f][c]) cero++;
} }
for(int f=0; f<fila; f++)
for(int c=0; c<colum; c++) contador[f][c]=0;
// -----------------------------------------------------------contar
for(int f=0; f<fila; f++)
for(int c=0; c<colum; c++)
for(int ff=0; ff<fila; ff++)
for(int cc=0; cc<colum; cc++)
if((numero[f][c]!=0)&&(numero[ff][cc]!=0)&&
((ff!=f)||(cc!=c))&&(numero[f][c]==numero[ff][cc])){
contador[f][c]++;
numero[ff][cc]=0;
}
// -------------------------------------------------------visualizar
if(cero
) printf("\nEl numero 0 existe %i veces", cero
); for(int f=0; f<fila; f++)
for(int c=0; c<colum; c++)
if(numero
[f
][c
]) printf("\nEl numero %i existe %i veces", numero[f][c], contador[f][c]+1);
return 0;
}
espero te sirva