Autor Tema: funciones cuyo argumento son arrglos bidimensionales.

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

02 Septiembre, 2008, 08:54 am
Leído 1504 veces

leonardo09

  • Leonardo Andrés Jofré Flor
  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 786
  • Karma: +0/-0
  • Sexo: Masculino
  • Leonardo Jofré
    • Leonardo Andrés Jofré Flor
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;
      
}
nunca seré buen matemático

02 Septiembre, 2008, 11:11 am
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 52,469
  • País: es
  • Karma: +0/-0
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.