Rincón Matemático

Disciplinas relacionadas y temas generales => Computación e Informática => Mensaje iniciado por: leonardo09 en 02 Septiembre, 2008, 08:54 am

Título: funciones cuyo argumento son arrglos bidimensionales.
Publicado por: leonardo09 en 02 Septiembre, 2008, 08:54 am
Hola¡¡

Necesito una función cuyo argumento es una matriz y que retorne la columna en la cual está el mayor valor o la fila, lo he hecho de la siguiente manera:

#include<stdio.h>

/*
P_M_M:posición de máxima magnitud
función en la que ingresas una matriz , y su dimensión "m" filas y "n" columnas
y retorna la fila o la columna en donde está el mayor valor
*/

int P_M_M(int Tablero[][3],int f_0_c_1,int m,int n)
{
   int fila_de_mayor_valor = 0, columna_de_mayor_valor = 0,i,j,temp=0;
   
   for(i = 0; i<m; i+=1)
      {
      for(j = 0; j<n; j+=1)
         {
         if(Tablero[j]>temp)
            {
            fila_de_mayor_valor = i;
            columna_de_mayor_valor = j;
            temp = Tablero[j];
            }
         
         }   
      }
      if (f_0_c_1=0)
      return fila_de_mayor_valor;
      if (f_0_c_1=1)
      return columna_de_mayor_valor;
      
}
Título: Re: funciones cuyo argumento son arrglos bidimensionales.
Publicado por: Luis Fuentes en 02 Septiembre, 2008, 11:11 am
Hola

 ¿Por qué estas fijando como 3 el número de columnas?.

int P_M_M(int Tablero[][3],int f_0_c_1,int m,int n)

 Por otro lado el valor \( i,j \) de la matriz deberías de recuperalo como:

 Tablero[j]

 ¿Los valores del tablero siempre son mayores o iguales que cero? Si no es así no es seguro inicializar temp como cero. Puedes tomar

 temp=Tablero[0][0]-1;

Saludos.