• Martes 12 de Noviembre de 2024, 21:28

Autor Tema:  Combinar Arrays  (Leído 5589 veces)

Guval

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Combinar Arrays
« en: Domingo 27 de Febrero de 2005, 06:09 »
0
Necesito combinar dos matrices, de forma que una va tomando el lugar de la otra. Según el siguiente esquema:

MATRIZ1(4)  ' (CONTIENE SIEMPRE LOS ELEMENTOS 1,2,3,4,5)
MATRIZ2()   ' SU RANGO VARIA DE 2 A 24

 1-2-3-4-5-6
 1-2-3-4-5-7
 1-2-3-4-5-8
 1-2-3-4-5-9
 1-2-3-4-5-10
 1-2-3-4-5-11
 1-2-3-4-5-12
 1-2-3-4-6-7
 1-2-3-4-6-8
 1-2-3-4-6-9
 1-2-3-4-6-10
 1-2-3-4-6-11
 1-2-3-4-6-12
 1-2-3-4-7-8
 1-2-3-4-7-9
 1-2-3-4-7-10
 1-2-3-4-7-11
 1-2-3-4-7-12
 1-2-3-4-8-9
 1-2-3-4-8-10
 1-2-3-4-8-11
 1-2-3-4-8-12
 1-2-3-4-9-10
 1-2-3-4-9-11
 1-2-3-4-9-12
 1-2-3-4-10-11
 1-2-3-4-10-12
 1-2-3-4-11-12
 1-2-3-5-6-7
 1-2-3-5-6-8
 1-2-3-5-6-9
 1-2-3-5-6-10
 1-2-3-5-6-11
 1-2-3-5-6-12
 1-2-3-5-7-8
 .........
 .........
 7-8-9-10-11-12

Agradezco cualquier ayuda.
Guval

eliza_marti

  • Miembro MUY activo
  • ***
  • Mensajes: 267
    • Ver Perfil
    • http://www.solocodigo.com
Re: Combinar Arrays
« Respuesta #1 en: Lunes 28 de Febrero de 2005, 05:26 »
0
No entendí... :unsure: ...podrías explicarte mejor?.. :huh:
Conserva la Paz con tu Alma en la bulliciosa confusión de la vida, aún con toda su farsa, penalidades y sueños fallidos, el mundo es todavia Hermoso....

http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
[

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Combinar Arrays
« Respuesta #2 en: Lunes 28 de Febrero de 2005, 14:36 »
0
Citar
eliza_marti Escrito el 27/02/2005, 11:26 PM
  No entendí...  ...podrías explicarte mejor?..   
con esa explicacion quien :P jejeje  :kicking:

eliza_marti

  • Miembro MUY activo
  • ***
  • Mensajes: 267
    • Ver Perfil
    • http://www.solocodigo.com
Re: Combinar Arrays
« Respuesta #3 en: Lunes 28 de Febrero de 2005, 17:57 »
0
Yo no entendí ArKaNtOs  :unsure: ..si fueras tan amable y me explicas?... :unsure: ... :P .. :hola:  :ph34r:
Conserva la Paz con tu Alma en la bulliciosa confusión de la vida, aún con toda su farsa, penalidades y sueños fallidos, el mundo es todavia Hermoso....

http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
[

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Combinar Arrays
« Respuesta #4 en: Martes 1 de Marzo de 2005, 00:09 »
0
no, eliza a lo que me refiero es que lo mas seguro nadie entendio porque no se da a explicar Guval  :P  :huh:

Guval

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Combinar Arrays
« Respuesta #5 en: Miércoles 2 de Marzo de 2005, 04:02 »
0
Hola, Gracias por responder, voy a intentar explicarme mejor.
Tengo dos matrices, 1 con 5 elementos, y otra que es redimensionable,
cuyos elementos para efectos del programa variaran entre 2 y 24.
La idea es combinar las dos matrices, para dar salida a series de números
de seis elementos, que se van a almacenar en una tabla de access.

Ejemplo:
Matriz1, Contiene los siguientes numeros, 1,2,3,4 y5
Matriz1(0) = 1
Matriz1(1) = 2
Matriz1(2) = 3
Matriz1(3) = 4
Matriz1(4) = 5

(Los numeros correlativos son a manera de ejemplo, para mejor comprension, pero los elementos de la matriz pueden ser cualquier numero.)

Matriz2()( Es redimensionable, supongamos que tiene 4 elementos, 6,7,8,9)
Matriz2(0) = 6
Matriz2(1) = 7
Matriz2(2) = 8
Matriz2(3) = 9

Al ejecutar el programa se almacenan en la base de datos las siguientes series de seis elementos:
1 2 3 4 5 6 ' el ultimo numero de la serie es el primer elemento de Matriz2
1 2 3 4 5 7
1 2 3 4 5 8
1 2 3 4 5 9
1 2 3 4 6 7 'Aqui se comienzan a reemplazar dos elementos
1 2 3 4 6 8
1 2 3 4 6 9
1 2 3 4 7 8
1 2 3 4 7 9
1 2 3 5 6 7 ' Aqui se reemplazan tres elementos de la primera matriz
1 2 3 5 6 8
1 2 3 5 6 9
1 2 3 6 7 8
1 2 3 6 7 9
1 2 6 7 8 9 ' Aqui se reemplazan cuatro elementos de la primera matriz

La idea es que los elementos de la segunda matriz, primero completan las primeras series, pero luego van reemplazando a los elemntos de la segunda matriz para dar origen a todas las combinaciones posibles. De esta forma, en el caso que la segunda matriz tenga 24 elementos, la ultima serie posible seria:

24 25 26 27 28 29

Espero que me puedan ayudar.
Guval

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Combinar Arrays
« Respuesta #6 en: Miércoles 2 de Marzo de 2005, 16:00 »
0
Hola Guval.

Lo que necesitas es algo así:

Por ejemplo en un formulario con un textbox (Text1) con Multiline = True y un commandbutton (command1).
Código: Text
  1.  
  2. Option Explicit
  3. Option Base 0
  4.  
  5. Private iEstatica(5) As Integer
  6. Private iDinamica() As Integer
  7.  
  8. Private Sub Form_Load()
  9.     LoadEstatica
  10.     LoadDinamica
  11. End Sub
  12.  
  13. Private Sub LoadEstatica()
  14.     Dim iIdx As Integer
  15.     For iIdx = 0 To 4
  16.         iEstatica(iIdx) = iIdx + 1
  17.     Next iIdx
  18. End Sub
  19.  
  20. Private Sub LoadDinamica()
  21.     ReDim iDinamica(22)
  22.     Dim iIdx As Integer
  23.     For iIdx = 0 To 21
  24.         iDinamica(iIdx) = iIdx + 6
  25.     Next iIdx
  26. End Sub
  27.  
  28. Private Sub Command1_Click()
  29.     Text1.Text = ""
  30.     Dim sEstatica As String, sDinamica As String
  31.     Dim iBound As Integer, iCount As Integer
  32.     Dim iIdx As Integer, iFrom As Integer, iIdx2 As Integer
  33.     iBound = UBound(iDinamica) - 1
  34.     iCount = 4
  35.     Do Until iCount = 0
  36.         sEstatica = ""
  37.         For iIdx = 0 To iCount
  38.             sEstatica = sEstatica & iEstatica(iIdx) & " "
  39.         Next iIdx
  40.         For iIdx = 0 To 3 - iCount
  41.             sEstatica = sEstatica & iDinamica(iIdx) & " "
  42.         Next iIdx
  43.         iFrom = 4 - iCount
  44.         For iIdx = iFrom To iBound
  45.             sDinamica = ""
  46.             iIdx2 = iIdx
  47.             Do
  48.                 sDinamica = sDinamica & iDinamica(iIdx2) & " "
  49.                 iIdx2 = iIdx2 + 1
  50.             Loop Until iIdx2 > 4 - iCount
  51.             Text1.Text = Text1.Text & sEstatica & sDinamica & vbCrLf
  52.             iFrom = iFrom + 1
  53.         Next iIdx
  54.         iCount = iCount - 1
  55.     Loop
  56. End Sub
  57.  
  58.  

No te acostumbres a pedir y que te lo den todo hecho.

Tu problema me huele a ejercicio estudiantil... para la próxima intenta aportar algo de tu parte o por lo menos cuentanos lo que habías intentado y probado.

Adiós.