Visual Basic.NET - Saber las posiciones de determinados elementos en un array

 
Vista:

Saber las posiciones de determinados elementos en un array

Publicado por AlvaroRodriguez (8 intervenciones) el 05/09/2019 12:49:06
Hola a todos,

Tengo un array que contiene variables booleanas y necesito saber qué posiciones exactas dentro del array toman el valor -1. De momento he conseguido saber cuántos elementos del array tienen el valor -1 pero no se me ocurre cómo puedo saber cada posición de los elementos que valen -1.

Os dejo el código por aquí:

1
2
3
4
5
6
7
func_entero = {CInt(prueba0), CInt(prueba1), CInt(prueba2), CInt(prueba3), CInt(prueba4), CInt(prueba5), CInt(prueba6), CInt(prueba7), CInt(prueba8), CInt(prueba9), CInt(prueba10), CInt(prueba11), CInt(prueba12), CInt(prueba13), CInt(prueba14), CInt(prueba15), CInt(prueba16), CInt(prueba17), CInt(prueba18), CInt(prueba19), CInt(prueba20), CInt(prueba21), CInt(prueba22), CInt(prueba23), CInt(prueba24)}
 
For a = LBound(func_entero) To UBound(func_entero)
    If func_entero(a) = -1 Then
        contador = contador + 1
    End If
Next a

Haciendo lo siguiente no puedo conseguir todas las posiciones que tienen el valor -1:

1
2
3
4
5
6
7
8
9
10
11
Dim registro as Integer
func_entero = {CInt(prueba0), CInt(prueba1), CInt(prueba2), CInt(prueba3), CInt(prueba4), CInt(prueba5), CInt(prueba6), CInt(prueba7), CInt(prueba8), CInt(prueba9), CInt(prueba10), CInt(prueba11), CInt(prueba12), CInt(prueba13), CInt(prueba14), CInt(prueba15), CInt(prueba16), CInt(prueba17), CInt(prueba18), CInt(prueba19), CInt(prueba20), CInt(prueba21), CInt(prueba22), CInt(prueba23), CInt(prueba24)}
 
For a = LBound(func_entero) To UBound(func_entero)
    If func_entero(a) = -1 Then
        contador = contador + 1
        If contador = 1 Then
            registro = a
        End If
    End If
Next a
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Saber las posiciones de determinados elementos en un array

Publicado por AlvaroRodriguez (8 intervenciones) el 12/09/2019 16:27:03
Nadie puede darme alguna idea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 153
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Saber las posiciones de determinados elementos en un array

Publicado por Yamil (631 intervenciones) el 12/09/2019 16:34:57
Puedes guardarlso en una lista

1
2
3
4
5
6
7
8
9
Dim registro as Integer
func_entero = {CInt(prueba0), CInt(prueba1), CInt(prueba2), CInt(prueba3), CInt(prueba4), CInt(prueba5), CInt(prueba6), CInt(prueba7), CInt(prueba8), CInt(prueba9), CInt(prueba10), CInt(prueba11), CInt(prueba12), CInt(prueba13), CInt(prueba14), CInt(prueba15), CInt(prueba16), CInt(prueba17), CInt(prueba18), CInt(prueba19), CInt(prueba20), CInt(prueba21), CInt(prueba22), CInt(prueba23), CInt(prueba24)}
 
Dim list As New List(Of Integer)()
For a = LBound(func_entero) To UBound(func_entero)
    If func_entero(a) = -1 Then
	  list.Add(a)
    End If
Next a
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar