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)
| | | | |-+  [RETO] Matriz de Cuenta Circular 7913
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [RETO] Matriz de Cuenta Circular 7913  (Leído 7,873 veces)
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
[RETO] Matriz de Cuenta Circular 7913
« en: 10 Enero 2011, 16:57 pm »

HOLA!!!

Este es el primer Reto que creo, no es muy dificil, pero para pasar el rato va.

Bueno, el Reto consiste en:

Crear una funcion con esta estructura
Código
  1. Private Function Cuenta_Circular7913(N&, M() As Integer, TIPO As Boolean)
En la variable N no aceptara numeros que no sean pares o mayores a 180 o menores a 2.

La funcion devuelva estas matrices:

Código:
Cuenta_Circular7913(2, Matriz, Verdadero)   :
    7   1   9
    4   0   2
    1   3   3

Cuenta_Circular7913(4, Matriz, Verdadero)   :
    7   1   2   3   9
    12  7   13  9   4
    11  16  0   14  5
    10  1   15  3   6
    1   9   8   7   3

Cuenta_Circular7913(6, Matriz, Verdadero)   :
    7   1   2   3   4   5   9
    20  7   21  22  23  9   6
    19  32  7   33  9   24  7
    18  31  36  0   34  25  8
    17  30  1   35  3   26  9
    16  1   29  28  27  3   10
    1   15  14  13  12  11  3

Cuenta_Circular7913(8, Matriz, Verdadero)   :
    7   1   2   3   4   5   6   7   9
    28  7   29  30  31  32  33  9   8
    27  48  7   49  50  51  9   34  9
    26  47  60  7   61  9   52  35  10
    25  46  59  64  0   62  53  36  11
    24  45  58  1   63  3   54  37  12
    23  44  1   57  56  55  3   38  13
    22  1   43  42  41  40  39  3   14
    1   21  20  19  18  17  16  15  3

Cuenta_Circular7913(2, Matriz, Falso)   :
    7   1   9
    4   0   2
    1   3   3

Cuenta_Circular7913(4, Matriz, Falso)   :
    7   1   2   3   9
    15  7   4   9   5
    14  16  0   8   6
    13  1   12  3   7
    1   11  10  9   3

Cuenta_Circular7913(6, Matriz, Falso)   :
    7   1   2   3   4   5   9
    32  7   6   7   8   9   10
    31  35  7   9   9   15  11
    30  34  36  0   18  16  12
    29  33  1   27  3   17  13
    28  1   26  25  24  3   14
    1   23  22  21  20  19  3

Cuenta_Circular7913(8, Matriz, Falso)   :
    7   1   2   3   4   5   6   7   9
    55  7   8   9   10  11  12  9   17
    54  60  7   13  14  15  9   24  18
    53  59  63  7   16  9   29  25  19
    52  58  62  64  0   32  30  26  20
    51  57  61  1   48  3   31  27  21
    50  56  1   47  46  45  3   28  22
    49  1   44  43  42  41  40  3   23
    1   39  38  37  36  35  34  33  3





GRACIAS POR LEER:


« Última modificación: 10 Enero 2011, 19:33 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETO] Matriz de Cuenta Circular 7913
« Respuesta #1 en: 10 Enero 2011, 19:32 pm »

Y en caso de que tipo sea falso?


En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Matriz de Cuenta Circular 7913
« Respuesta #2 en: 10 Enero 2011, 19:36 pm »

HOLA!!!

@Raul:
Segun sea verdadero o falso el tipo lo que cambia es la manera de organizar los numeros.

Osea: Tipo = false seria Tipo1 y Tipo = true seria Tipo2

Para ver que tipo de organizacion tiene el tipo 1 y 2 estan los ejemplos.

P.D: Me voy a la playa, asi que recien mañana voy a poder responder si hay alguna duda, me quedo 10 minutos mas.

GRACIAS POR LEER!!!
« Última modificación: 10 Enero 2011, 19:50 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] Matriz de Cuenta Circular 7913
« Respuesta #3 en: 10 Enero 2011, 20:08 pm »

Yo creo que más o menos ya lo pille.
A final de esta semana intento algo que tengo examenes... :-\

DoEvents! :P
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETO] Matriz de Cuenta Circular 7913
« Respuesta #4 en: 10 Enero 2011, 22:01 pm »

Pero en todos los ej pusiste verdadero :xD
En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Matriz de Cuenta Circular 7913
« Respuesta #5 en: 10 Enero 2011, 22:21 pm »

HOLA!!!
Manana me conecto(perdon por la enie, estoy en el celular)
@Raul:
Que raro, los primeros 4 ejemplos son con verdadero y los ultimos 4 con falso fijate(ultimos 4):

Código:
Cuenta_Circular7913(2, Matriz, Falso)   :
    7   1   9
    4   0   2
    1   3   3

Cuenta_Circular7913(4, Matriz, Falso)   :
    7   1   2   3   9
    15  7   4   9   5
    14  16  0   8   6
    13  1   12  3   7
    1   11  10  9   3

Cuenta_Circular7913(6, Matriz, Falso)   :
    7   1   2   3   4   5   9
    32  7   6   7   8   9   10
    31  35  7   9   9   15  11
    30  34  36  0   18  16  12
    29  33  1   27  3   17  13
    28  1   26  25  24  3   14
    1   23  22  21  20  19  3

Cuenta_Circular7913(8, Matriz, Falso)   :
    7   1   2   3   4   5   6   7   9
    55  7   8   9   10  11  12  9   17
    54  60  7   13  14  15  9   24  18
    53  59  63  7   16  9   29  25  19
    52  58  62  64  0   32  30  26  20
    51  57  61  1   48  3   31  27  21
    50  56  1   47  46  45  3   28  22
    49  1   44  43  42  41  40  3   23
    1   39  38  37  36  35  34  33  3

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETO] Matriz de Cuenta Circular 7913
« Respuesta #6 en: 10 Enero 2011, 23:27 pm »

Ahhh cierto, no vi la barra de desplazamiento (no me acostumbro a verla) :xD
En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: [RETO] Matriz de Cuenta Circular 7913
« Respuesta #7 en: 11 Enero 2011, 08:45 am »

no tiene las comprobaciones de si es Par y mayor a 2 y menor a  180 pero bueno eso ya lo tenemos por sabido.

Código
  1. Private Function Leandro_Cuenta_Circular7913(N&, m() As Integer, TIPO As Boolean)
  2.    Dim Max As Long
  3.    Dim X1 As Long
  4.    Dim X2 As Long
  5.    Dim Y1 As Long
  6.    Dim Y2 As Long
  7.    Dim lCont As Long
  8.    Dim I As Long
  9.    Dim j As Long
  10.    Dim Mitad As Long
  11.  
  12.  
  13.    Max = N * N
  14.  
  15.    ReDim m(0 To N, 0 To N)
  16.  
  17.    If TIPO Then
  18.  
  19.        X2 = N
  20.        Y2 = N
  21.  
  22.        Do While lCont < Max
  23.            m(X1, Y1) = 7
  24.            X1 = X1 + 1
  25.            For I = X1 To N - X1
  26.                lCont = lCont + 1
  27.                m(I, Y1) = lCont
  28.            Next
  29.            m(I, Y1) = 9
  30.            Y1 = Y1 + 1
  31.  
  32.            For I = Y1 To N - Y1
  33.                lCont = lCont + 1
  34.                m(X2, I) = lCont
  35.            Next
  36.            m(X2, I) = 3
  37.            X2 = X2 - 1
  38.  
  39.            For I = X2 To X1 Step -1
  40.                lCont = lCont + 1
  41.                m(I, Y2) = lCont
  42.            Next
  43.            m(I, Y2) = 1
  44.            Y2 = Y2 - 1
  45.  
  46.            For I = Y2 To Y1 Step -1
  47.                lCont = lCont + 1
  48.                m(X1 - 1, I) = lCont
  49.            Next
  50.        Loop
  51.  
  52.    Else
  53.  
  54.       Mitad = N / 2
  55.  
  56.       For I = 0 To Mitad - 1
  57.           m(X1, I) = 7
  58.           X1 = X1 + 1
  59.  
  60.           For j = X1 To N - X1
  61.             lCont = lCont + 1
  62.             m(j, I) = lCont
  63.           Next
  64.           m(j, I) = 9
  65.       Next
  66.  
  67.       For I = N To Mitad + 1 Step -1
  68.  
  69.           Y1 = Y1 + 1
  70.  
  71.           For j = Y1 To N - Y1
  72.             lCont = lCont + 1
  73.             m(I, j) = lCont
  74.           Next
  75.           m(j, I) = 3
  76.       Next
  77.  
  78.       For I = N To Mitad + 1 Step -1
  79.  
  80.           Y2 = Y2 + 1
  81.  
  82.           For j = N - Y2 To Y2 Step -1
  83.             lCont = lCont + 1
  84.             m(j, I) = lCont
  85.           Next
  86.           m(j, I) = 1
  87.       Next
  88.  
  89.       For I = 0 To Mitad - 1
  90.  
  91.           X2 = X2 + 1
  92.  
  93.           For j = N - X2 To X2 Step -1
  94.             lCont = lCont + 1
  95.             m(I, j) = lCont
  96.           Next
  97.  
  98.       Next
  99.  
  100.    End If
  101.  
  102. End Function
  103.  
  104.  

Código
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.    Dim X As Long, Y As Long
  5.    Dim m() As Integer
  6.    Dim N As Long
  7.  
  8.    N = 8
  9.  
  10.    Leandro_Cuenta_Circular7913 N, m, False
  11.  
  12.    For Y = 0 To N
  13.        For X = 0 To N
  14.            Debug.Print m(X, Y),
  15.        Next
  16.        Debug.Print
  17.    Next
  18.  
  19.    Debug.Print vbCrLf
  20.    Leandro_Cuenta_Circular7913 N, m, True
  21.  
  22.    For Y = 0 To N
  23.        For X = 0 To N
  24.            Debug.Print m(X, Y),
  25.        Next
  26.        Debug.Print
  27.    Next
  28.  
  29. End Sub
  30.  
« Última modificación: 11 Enero 2011, 09:35 am por LeandroA » En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Matriz de Cuenta Circular 7913
« Respuesta #8 en: 11 Enero 2011, 16:03 pm »

HOLA!!!

Que bueno el primer codigo!
Y, no me extraña que viniendo de Lea me gane en velocidad  :-\.

GRACIAS POR LEER!!!
« Última modificación: 12 Enero 2011, 14:25 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Matriz de Cuenta Circular 7913
« Respuesta #9 en: 12 Enero 2011, 14:28 pm »

HOLA!!!

Bueno... parece que no va a agregarse nadie mas, falta Mr. Frog.... :silbar:
Mañana posteo mi codigo, le pisa los talones al de Lea :P.

Espero.

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda en nodo de lista circular
Java
apolo85 3 5,146 Último mensaje 28 Noviembre 2009, 03:57 am
por egyware
Duda - Buscar si existe una matriz dentro de otra matriz
Programación Visual Basic
EddyW 2 6,012 Último mensaje 14 Agosto 2010, 06:18 am
por EddyW
Cola circular estatica
Java
soser 5 23,465 Último mensaje 14 Marzo 2017, 13:56 pm
por Orubatosu
una lista circular en c#
.NET (C#, VB.NET, ASP)
Fingerling 2 13,217 Último mensaje 24 Septiembre 2010, 17:23 pm
por -=[ §ÂßÂÑÐØ ]=-
[RETO] Matriz Bidimensional {FrogMatrix algorithm} « 1 2 »
Programación Visual Basic
Psyke1 13 7,655 Último mensaje 30 Noviembre 2010, 19:33 pm
por 79137913
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines