Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/03/2012, 17:00
cesar_casla
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 13 años
Puntos: 94
Respuesta: Mayor elemento de una matriz y posicion

Hola! me parece que con la funcion que creaste solo estas devolviendo el numero de fila en donde se encuentra el maximo valor pero te falte indicar la columna. Lo q te propongo es que en la funcion encuentres el maximo valor y retornes ese valor, y en el main compares ese valor con la matriz hasta encontrar en que posicion se encuentra

En la funcion:
Código C:
Ver original
  1. int maximapos(int M[][3], int n)
  2. {
  3.    int i, j, maxValor;
  4.  
  5.    maxValor = M[0][0];
  6.    for (i = 0; i < n; i++)
  7.    {
  8.       for(j=0;j<n;j++)
  9.       {
  10.       if (M[i][j] > M[i+1][j+1]) maxValor = M[i][j];
  11.       }
  12.    }
  13.    return maxValor;
  14. }

En el main:
Código C:
Ver original
  1. int main()
  2. {
  3.     int M[][3] = {1, 2, 3,
  4.              4, 5, 6,
  5.              7, 8, 9};
  6.              
  7.     int maxValor, i,j,posFila, posColumna;
  8.  
  9.     maxValor = maximapos(M, 3);
  10.  
  11.    for (i = 0; i < 3; i++)
  12.    {
  13.       for(j=0;j<3;j++)
  14.       {
  15.       if (M[i][j] == maxValor) break;
  16.       }
  17.    }      
  18.     printf("Posicion[%d][%d]   Valor: %d \n",posFila,posColumna,maxValor);
  19.    
  20.     system("pause");
  21.     return 0;
  22. }

Otra cosa revisa el segundo argumento de la llamada a la funcion maximapos() ¿xq pasas 9?

Saludos, espero te sirva