Problema con mostrar la posición de un elemento de una matriz

Iniciado por LombardiG, 11 Octubre 2017, 15:08 PM

0 Miembros y 1 Visitante están viendo este tema.

LombardiG

El problema es que me tira mal la posicion del menor elemento de la matriz
int i, j, m, n, max, min, maxelem, menelem;

printf("Ingrese la cantidad de filas de la matriz: ");
scanf("%i", &m);
printf("Ingrese la cantidad de columnas de la matriz: ");
scanf("%i", &n);

int matriz[m][n];

printf("\n");

//Cargo la matriz
for(i = 0; i < m; i++) {
for(j = 0; j < n; j++) {
printf("Fila (%i) - Columna (%i): ", i+1, j+1);
scanf("%i", &matriz[i][j]);
}
}

printf("\n");

max = matriz[0][0];
min = matriz[0][0];

//Proceso para saber cual es el mayor y menor elemento de la matriz
for(i = 0; i < m; i++) {
for(j = 0; j < n; j++) {
if (matriz[i][j] >= max)
max = matriz[i][j];
if(matriz[i][j] <= min)
min = matriz[i][j];
}
}

//Muestro la matriz
for(i = 0; i < m; i++) {
for(j = 0; j < n; j++) {
printf("%4i", matriz[i][j]);
}
printf("\n");
}

//Proceso para saber la posicion del mayor elemento de la matriz
   maxelem = matriz[0][0];
   for (i = 0; i < n; i++) {
       for(j = 0; j< n; j++) {
           if (matriz[i][j] > matriz[i+1][j+1])
maxelem = matriz[i][j];
       }
   }
   
printf("\n");
printf ("El mayor numero de la matriz es %i y se encuentra en la posicion %i\n", max, maxelem);

menelem = matriz[m][n];
   for (i = 0; i < n; i++) {
       for(j = 0;j < n; j++) {
           if (matriz[i][j] < matriz[i+1][j+1])
menelem = matriz[i][j];
       }
   }
   
   printf("\n");
printf ("El menor numero de la matriz es %i y se encuentra en la posicion %i\n", min, menelem);