Foros del Web » Programando para Internet » ASP Clásico »

Conocer el max de una matriz

Estas en el tema de Conocer el max de una matriz en el foro de ASP Clásico en Foros del Web. Seguramente esto lo preguntaron miles de veces... juro que lo busqué y no lo encuentro (además, ¿qué le hace una mancha mas al tigre? ) ...
  #1 (permalink)  
Antiguo 25/02/2002, 17:15
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Conocer el max de una matriz

Seguramente esto lo preguntaron miles de veces... juro que lo busqué y no lo encuentro (además, ¿qué le hace una mancha mas al tigre? )

Necesito obtener el valor máximo dentro de una matriz de la forma:

Código:
dato1 | valor1
dato1 | valor2
datoN | valorN
Y si es posible su ubicación dentro de la misma.

Gracias
diego

PD: Colaboren que les tengo preparado un regalito ;)... pero no pregunten de que se trata porque estoy
  #2 (permalink)  
Antiguo 25/02/2002, 18:04
 
Fecha de Ingreso: febrero-2002
Mensajes: 184
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Conocer el max de una matriz

Mirá no sé mucho de matrices, pero la idea es recorrer todos los elementos de la matriz y compararlos:

maximo=elemento 1 (vos sabrás como ponerlo)
for i=1 to i=2*n

if elemento i+1 > elemento i then

maximo=elemento i+1

end if

next


No sé si fui demasiado "general"

¿te sirve o es cualquier cosa?
Te vi tan desesperado que me la jugué. Soy un cararrota :roto:

enrique2
  #3 (permalink)  
Antiguo 25/02/2002, 18:55
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Re: Conocer el max de una matriz

Jaja, no estoy desesperado, sólo un poco "desinspirado".
Mañana te comento, ya estoy cansado de trabajar.

Igualmente serán bienvenidos otros ejemplos y o códigos ready-to-use :roto: (eso si es ser cararrota <img src='images/tongue.gif' width=15 height=15 align=middle>)
  #4 (permalink)  
Antiguo 25/02/2002, 22:23
 
Fecha de Ingreso: febrero-2002
Mensajes: 184
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Conocer el max de una matriz

Lo prometido es deuda Aquí te presento la función que buscabas...pero esperamos el regalito que prometiste. :roto: (ya sabés lo que significa).

Ahora en serio, la función no la probé para casos especiales como matrices de 1x1, pero funciona de maravillas:


**************************
function Dazuaga(matriz)

numero_de_filas= ubound(matriz,1)
numero_de_columnas= ubound(matriz,2)

if numero_de_filas&gt;1 then
maximo=matriz(1,1)

for n=1 to numero_de_columnas
for i=1 to numero_de_filas

if maximo&lt;matriz(i,n) then

maximo=matriz(i,n)

end if

next
next


end if

if numero_de_filas=1 and numero_de_columnas=1 then

maximo=matriz(1,1)
end if

if numero_de_filas=1 and numero_de_columnas&gt;1 then
maximo=matriz(1,1)

for i=1 to numero_de_columnas

if maximo&lt;=matriz(1,i) then

maximo=matriz(1,i)

end if

next
end if

end function

**********************************

Para generar una variable que se corresponda con el tipo de dato de &quot;matriz&quot; podés hacer lo siguiente

Dim matriz(n°filas,n°columnas)

en tu caso n° columnas es 2 según me dijiste
y n° de filas es una variable

Espero que te sirva
Cualquier duda sobre esta función mandá un mensaje.

Enrique2 :P :)




  #5 (permalink)  
Antiguo 25/02/2002, 23:46
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 5 meses
Puntos: 38
Re: Conocer el max de una matriz

Duzaga, por si acaso, aqui te mando una versión JavaScript:

Código:
var aMat = new Array(new Array(&quot;Dato1&quot;, 8), new Array(&quot;Dato1&quot;, 12), new Array(&quot;Dato2&quot;, 9));

  function getMaxPos(aMat, nCol){
   var nRes;
   var nPos = -1;
   if (aMat.length &gt; 0){
    nRes = aMat[0][nCol];
    nPos = 0;
    for (var i = 1; i &lt; aMat.length; i++){
     if (aMat[I][nCol] &gt; nRes){
      nRes = aMat[nCol];
      nPos = i;
     }
    }
   }
   return nPos;
  }

  function getMaxVal(aMAt, nCol){
   var nPos = getMaxPos(aMat, nCol);
   return (nPos &gt; -1? aMat[nPos][nCol]: 0);
  }
  


Suerte.
  #6 (permalink)  
Antiguo 25/02/2002, 23:50
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 5 meses
Puntos: 38
Re: Conocer el max de una matriz

Aqui va de nuevo, lo que pasa es que los [ i ] los traducen como itálicas.

Código:
var aMat = new Array(new Array(&quot;Dato1&quot;, 8), new Array(&quot;Dato1&quot;, 12), new Array(&quot;Dato2&quot;, 9));

  function getMaxPos(aMat, nCol){
   var nRes;
   var nPos = -1;
   if (aMat.length &gt; 0){
    nRes = aMat[0][nCol];
    nPos = 0;
    for (var iPos = 1; iPos &lt; aMat.length; iPos++){
     if (aMat[iPos][nCol] &gt; nRes){
      nRes = aMat[iPos][nCol];
      nPos = iPos;
     }
    }
   }
   return nPos;
  }

  function getMaxVal(aMAt, nCol){
   var nPos = getMaxPos(aMat, nCol);
   return (nPos &gt; -1? aMat[nPos][nCol]: 0);
  }
Saludos.
  #7 (permalink)  
Antiguo 26/02/2002, 02:25
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 4 meses
Puntos: 11
Re: Conocer el max de una matriz

Obtener el valor máximo y mínimo:

Public Sub FindMinMax(ByRef dArray() As Double, ByRef dLowVal As Double, ByRef dHighVal As Double)

Dim lIndex As Long
Dim dFirstValIdx As Double
Dim dLastValIdx As Double
Dim dActVal As Double

dFirstValIdx = LBound(dArray)
dLastValIdx = UBound(dArray)
dLowVal = dArray(dFirstValIdx)
dHighVal = dArray(dFirstValIdx)


For lIndex = dFirstValIdx To dLastValIdx
dActVal = dArray(lIndex)

If dActVal &gt; dHighVal Then
dHighVal = dActVal
Else

If dActVal &lt; dLowVal Then
dLowVal = dActVal
End If
End If
Next lIndex
End Sub

Saludos...


<hr noshade size=1><font color="#CC0000" face=Arial size=1>500 rutinas ordenadas por categorías: JS, ASP, PHP, Actionscript y VB!<br><font color="#000000" face=Arial size=1>Descargá <a href="http://www.webtutorial.com.ar/">ScriptMaster v1.0</a>[/CODE]
  #8 (permalink)  
Antiguo 26/02/2002, 02:28
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 4 meses
Puntos: 11
Re: Conocer el max de una matriz

Y si por esas casuales de la vida lo tenes que hacer también en Flash:

yourArray = new Array (30, 25, 2, 67, 99);

function selectHigherValue(x) {
x.sort();
higherVal = x[ [(x.length) - 1] ];
return(higherVal);

}
selectHigherValue(yourArray););

Nunca se sabe

<hr noshade size=1><font color="#CC0000" face=Arial size=1>500 rutinas ordenadas por categorías: JS, ASP, PHP, Actionscript y VB!<br><font color="#000000" face=Arial size=1>Descargá <a href="http://www.webtutorial.com.ar/">ScriptMaster v1.0</a>[/CODE]
  #9 (permalink)  
Antiguo 26/02/2002, 07:17
Avatar de Aston  
Fecha de Ingreso: mayo-2001
Ubicación: Madrid
Mensajes: 933
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Conocer el max de una matriz

Bueno, yo también quiero hacer mi aportación.

¡ Solución en 3 líneas !!

Teniendo...

aMat(1, 0) = 140
aMat(1, 1) = 68
aMat(1, 2) = 225
aMat(1, 3) = 31
aMat(1, 4) = 175

Las 3 líneas:

For n = 0 To Ubound(aMat, 2)
If aMat(1, n) &gt; nMax Then nMax = aMat(1, n)
Next

Y lo muestras:

Response.Write nMax ;)

Espero que sirva, un saludo a todos. :)

<a href="http://www.laventanita.net/" target="_blank">
<img src="http://www.breogan.org/images/Aston.gif" border="0" alt="La Ventanita.net - Lo imprescindible en la red"></a>
  #10 (permalink)  
Antiguo 26/02/2002, 10:27
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Re: Conocer el max de una matriz

Ufff... que tuvo popularidad el mensaje :)

Ahora me tengo que ir al banco a que me terminen de romper el tuje y cuando regreso pruebo y les comento.
  #11 (permalink)  
Antiguo 26/02/2002, 12:19
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Re: Conocer el max de una matriz

Ouch! Que dolor... En el banco ma la mandaron sin vaselina y sin decir ni un mísero te quiero

, bueno... serio ahora

Obviamente me funcionó a la perfección las tres líneas de Aston. De todas formas, gracias a todos
  #12 (permalink)  
Antiguo 26/02/2002, 17:25
Avatar de Aston  
Fecha de Ingreso: mayo-2001
Ubicación: Madrid
Mensajes: 933
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Conocer el max de una matriz

Bueno, Diego me alegro de que te sirviera. Un abrazo.

<a href="http://www.laventanita.net/" target="_blank">
<img src="http://www.breogan.org/images/Aston.gif" border="0" alt="La Ventanita.net - Lo imprescindible en la red"></a>
  #13 (permalink)  
Antiguo 26/02/2002, 21:22
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 4 meses
Puntos: 11
Re: Conocer el max de una matriz

Che, bajen el programa y diganme que les parece. 500 rutinas de mi colección privada, si alguien esta interezado tengo 500 más



<hr noshade size=1><font color="#CC0000" face=Arial size=1>500 rutinas ordenadas por categorías: JS, ASP, PHP, Actionscript y VB!<br><font color="#000000" face=Arial size=1>Descargá <a href="http://www.webtutorial.com.ar/">ScriptMaster v1.0</a>[/CODE]
  #14 (permalink)  
Antiguo 27/02/2002, 14:17
 
Fecha de Ingreso: febrero-2002
Mensajes: 184
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Conocer el max de una matriz

Tukzone: Estuve probando el programa y es realmente muy bueno. Se lo recomiendo a todos.

Enrique2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:12.