Autor Tema: Función que retorne indice del mayor valor de un array  (Leído 4252 veces)

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

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Función que retorne indice del mayor valor de un array
« en: Agosto 03, 2012, 08:58:38 pm »
Hola estoy enroscado como una serpiente tratando de hacer una boludez pero parece que hay ciertas cosas que cuestan mas que otras y ami esta es una la cuestión es que necesito crear una funcion que me devuelva el indice de la matriz que contenga el mayor valor.  Por ahi hay alguna funcion o API que no conozco y me ayuda o algún colega!!

Un ejemplo


Código: [Seleccionar]
Private Sub Command1_Click()
Dim MiArray(5) As Byte

MiArray(0) = 12
MiArray(1) = 4
MiArray(2) = 89
MiArray(3) = 42
MiArray(4) = 78
MiArray(5) = 2

Index = DevuelveIndiceMayor(MiArray)
End Sub

Private Function DevuelveIndiceMayor(Mat() As Byte) As Byte
    '??
End Function
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Función que retorne indice del mayor valor de un array
« Respuesta #1 en: Agosto 03, 2012, 10:29:27 pm »
Código: (vb) [Seleccionar]
Private Function DevuelveIndiceMayor(Mat() As Byte) As Byte
Dim i as Integer, j as Integer, max as Byte
j = ubound(mat)
for i = 0 to j
   if mat(i) > max Then max = mat(i)
next
DevuelveIndiceMayor = max
End Function
Algo así buscas? :P o de ultima si necesitas el indice, devuelves i puro :P (usando otra variable)

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Re:Función que retorne indice del mayor valor de un array
« Respuesta #2 en: Agosto 04, 2012, 08:45:34 am »
Muchas gracias Raul, no se si les pasa que a veces tienen tan saturada la mente que no pueden resolver algo simple! Justamente me desperte con una funcion en la cabeza muy similar a la que me encontre en este foro!!

Aca la posteo como quedo finalmente devolviendo el indice que es lo que necesitaba!


Código: [Seleccionar]
Private Function DevuelveIndiceMayor(Mat() As Byte) As Byte
Dim i As Integer, j As Integer, max As Byte, Index As Byte
j = UBound(Mat)
For i = 0 To j
   If Mat(i) > max Then max = Mat(i): Index = i
Next
DevuelveIndiceMayor = Index
End Function
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

xkiz ™

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 283
  • Reputación: +30/-11
    • Ver Perfil
    • xkiz ™
Re:Función que retorne indice del mayor valor de un array
« Respuesta #3 en: Agosto 05, 2012, 11:25:19 pm »
sino me equivoco, te seria mas conveniente que la variable i sea =LBound(Mat), solo por si no es Zero