elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Emparejar numeros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Emparejar numeros  (Leído 2,266 veces)
Alkro

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Emparejar numeros
« en: 29 Agosto 2009, 01:07 am »

Tengo que hacer una rutina que pasándole una matriz de números desordenada me empareje esos numeros teniendo en cuenta que la suma de cada pareja no supere una cantidad y que a su vez sea capaz de evaluar qué emparejamientos serían los mejores para dejar la menor cantidad de numeros sin pareja.

Ejemplo:

Matriz: 2,6,3,7,8,4,2,4,2,1,1,8      
Limite de suma : 10

REsultado:

1,1

2+8
6+4
7+2
8+2
3+4

Quedarian los 1's que se quedarian lejos del 10.

No se cómo empezar. ¿Algún método de ordenación o algo así por donde pueda empezar a pegarme?


En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.907


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Emparejar numeros
« Respuesta #1 en: 29 Agosto 2009, 02:07 am »

Hola!

La primer idea que me viene a la mente es:

Código:
Option Explicit

Private Sub Command1_Click()
Dim a() As Long
Dim ret As String

ReDim a(11)
a(0) = 2
a(1) = 6
a(2) = 3
a(3) = 7
a(4) = 8
a(5) = 4
a(6) = 2
a(7) = 4
a(8) = 2
a(9) = 1
a(10) = 1
a(11) = 8
ret = Emparejar(a, 10)
MsgBox ret
End Sub

Private Function Emparejar(Matriz() As Long, ByVal Valor As Long) As String
'devuelve una cadena del tipo: Valor1 + "," + Valor2 + "/"
'notar que el "/" es sólo un separador
Dim I As Long
Dim J As Long
Dim Max As Long
Dim retStr As String

Max = UBound(Matriz)
retStr = ""

For I = 0 To Max - 1
    For J = I + 1 To Max
        If (Matriz(I) + Matriz(J) <= Valor) Then
            'la pareja no supera el valor
            retStr = retStr & I & "," & J & "/"
        End If
    Next J
Next I
Emparejar = retStr
End Function

Saludos!



En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 3.142


I'Love...!¡.


Ver Perfil WWW
Re: Emparejar numeros
« Respuesta #2 en: 29 Agosto 2009, 06:57 am »

Hola!

La primer idea que me viene a la mente es:


y a mi es por que le haces la tarea -.-", digo xS
En línea




CScript (Actualizado 26/06/2013).

FileX <-- Re-modelando...
Web Principal-->[ Blog(VB6/C/C++) | Host File | Scan Port) ]

The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilit y el metal mi relig
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.907


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Emparejar numeros
« Respuesta #3 en: 29 Agosto 2009, 18:12 pm »

Quizas sea porque tenia poco que hacer en ese momento...  ;D

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Emparejar dispositivos Bluetooth
Redes
raulsm35 2 2,685 Último mensaje 30 Junio 2012, 20:56 pm
por ccrunch
No puedo emparejar el movil con el ordenador con la app mi telefono
Dispositivos Móviles (PDA's, Smartphones, Tablets)
win_7 4 690 Último mensaje 29 Diciembre 2020, 19:03 pm
por Nk
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines