Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/10/2004, 11:28
Avatar de u_goldman
u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 5 meses
Puntos: 98
Bueno, no está totalmente probado, pero aqui te dejo este código, funciona a base de arreglos...

Código:
<%
'Función para ordenar un arreglo, método de la burbuja
Function OrdenaArreglo(arreglo)
	If isArray(arreglo) Then
		Dim temp
		For i = 0 to uBound(arreglo)
			For j = i + 1 to uBound(arreglo)		
				If arreglo(i) > arreglo(j) Then
					temp = arreglo(i)
					arreglo(i) = arreglo(j)
					arreglo(j) = temp
				End If
			Next
		Next
	Else
		OrdenaArreglo = Null
	End If
	OrdenaArreglo = arreglo
End Function

'Devuelve el número de indices + 1 en caso de que sea arreglo
Function cuentaArreglo(arreglo)
	If isArray(arreglo) Then
		cuentaArreglo = Ubound(arreglo) + 1
	Else
		cuentaArreglo = null
	End If
End Function

Function esPar(num)
	select Case abs(num) mod 2
		case 0: esPar = true
		case 1: esPar = false
	end select
End Function

Sub ImprimeArreglo(arreglo)
	For i = 0 to uBound(arreglo)
		Response.Write arreglo(i) & ","
	Next
End Sub

'serie de números, puede llegar por formulario, es importante separarlo por comas
serie = "10 , 11 , 12 , 12 , 13"
'quitamos cada espacio en la serie
serie = replace(serie, " ", "")
'Si no está vacia nuestra serie
If not serie = "" Then
	arrSerie = OrdenaArreglo(split(serie, ","))
	If not isNull(arrSerie) Then
		elementos = cuentaArreglo(arrSerie)
		If not IsNull(elemento) Then
			Par = esPar(elementos)
			If Par Then
				intermedio1 = cint(elementos/2) - 1
				intermedio2 = cint(elementos/2)
				mediana = cdbl(arrSerie(intermedio1)) + cdbl(arrSerie(intermedio2))
				mediana = mediana/2
			Else
				mediana = arrSerie(abs(elementos/2))
			End If
			Response.Write "Esta es la mediana para la serie["  
			ImprimeArreglo arrSerie
			Response.Write "]: " & mediana
		End If
	Else
		Response.Write "Ingresa una serie correcta, separada por ','"
	End If
Else
	Response.Write "Ingresa una serie correcta, separada por ','"
End If
%>
Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway