Arrays De Dos Dimensiones Y Funciones


Objetivo: Arrays De Dos Dimensiones Y Funciones
Hola comunidad.

Tengo una pequeña duda con los arrays. Vamos a suponer que tengo un array de dos dimensiones.
private datos as new Byte[4,15]


Tengo una función que devuelve un array de 15 numero, por ejemplo:
public function devuelve() as byte[]
dim a as byte
dim b as new byte[15]
for a=0 to 14
b[a] = a
next
return b


Ahora llega la pregunta. ¿Hay alguna forma de asignar a la variable datos en el primer y segundo índice lo devuelto por la función? Es decir, quiero que en el índice datos[0, ] se almacene los número devueltos por la función. Y lo mismo en el índice datos[1, ]. No se si me explico.

Muchas gracias y un saludo a todos.

Perfil MP  
Objetivo: Re: Arrays De Dos Dimensiones Y Funciones
Guizans escribió: [Ver mensaje]
quiero que en el índice datos[0, ] se almacene los número devueltos por la función. Y lo mismo en el índice datos[1, ]

No he comprendido .

última edición por vuott el Martes, 26 Septiembre 2017, 12:13; editado 3 veces
Perfil MP  
Objetivo: Re: Arrays De Dos Dimensiones Y Funciones
Guizans:

Me ha costado entenderlo.

Tu quieres que en datos[0,0], datos[0,1]...datos[0,15] se almacene los números devueltos por la función.

Fíjate y hazte estás preguntas.
¿ Qué índice no cambia ?.
¿ Cuál cambia ?.
¿ Qué valor contenido en la variable quieres asignar ?.

Si respondes a las tres, tendrás la solución.

Y lo que dice Vuott, es correcto. A menos que fuese un array de array.

Saludos

última edición por Shell el Martes, 26 Septiembre 2017, 12:12; editado 2 veces
Objetivo: Re: Arrays De Dos Dimensiones Y Funciones
No me extraña, me explico como el culo.

A ver si ahora me hago entender. Yo puedo declarar un array de una dimensión y en el se almacenan los valores de una función. Algo así:
dim datos as new byte[15]
datos = devuelve()

Hasta aquí todo correcto y funciona perfectamente. Mi duda, es si tengo un array de dos dimensiones y quiero almacenar lo que devuelve la función unicamente en las dos primeras dimensiones. ¿Es eso posible?

Shell:
Entiendo lo que dices y es correcto. Pero por un momento vamos a imaginar que la función en vez de devolver un sólo número, que se almacenaría en datos[0, 1], datos[0,2]....datos[0,15], devuelve todo un array. Y es aquí donde tengo la duda. No puedo llamar 15 veces a la función, por que me devolvería 15 arrays. Es decir, los 15 números devueltos por la función se tendrían que almacenar en el primer índice 0 y el segundo ínidice del 0 al 15.
Algo así, pero me devuelve error:
datos[0, ] =devuelve()


A lo mejor no se puede, era simplemente una duda que me surgió, no es algo fundamental. O mejor aún, mi idea es totalmente absurda
Un saludo.

Perfil MP  
Objetivo: Re: Arrays De Dos Dimensiones Y Funciones
Guizans:

Fíjate en esto:

No voy a cambiar la función, pero si la variable datos.

Private datos As New Byte[][15]

Public Sub Main()

datos[0] = devuelve()

Stop

End

Public Function devuelve() As Byte[]

Dim a As Byte
Dim b As New Byte[15]

For a = 0 To 14
b[a] = a
Next
Return b

End


Esto es lo que muestra la variable datos:

Tenemos un array de array de 15 elementos ( 15 arrays ).

arrayde15arrays

Y el contenido de la función está en el índice 0. Todo un array en un solo elemento.

indice0

Es distinto.

Saludos

Objetivo: Re: Arrays De Dos Dimensiones Y Funciones
Shell escribió: [Ver mensaje]
( 15 arrays ).

No 15 arrays, sino 15 elementos.

Perfil MP  
Objetivo: Re: Arrays De Dos Dimensiones Y Funciones (SOLUCIONADO)
Gracias Shell, tu solución funciona a la perfección.

Muchas gracias y un saludo.

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1996s (PHP: -58% SQL: 158%)
Consultas SQL: 31 - Debug off - GZIP Activado