Ir para o conteúdo
dlemos

Visual basic - arrays

Mensagens Recomendadas

dlemos    0
dlemos

Viva

Sou um programador novato em VisualBasic e deparei-me com algumas dúvidas, talvez vocês me possam ajudar=)

Há algum comando para fazer delete a uma determinada posição i de um array, do género

delete(nome_do_array(i))

?

Penso que em C++ era assim agora em VB não sei...já agora há alguma maneira de obter a dimensão de um array? ou seja, fazendo dim(array) ele retorna o nº de elementos do array.

Já procurei em vários sítios e não encontrei nada..

Desde já agradeço qualquer ajuda..

cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dlemos    0
dlemos

Mas posso então usar uma lista em vez de um array, é o mesmo?

como faço para declarar uma lista?

o meu problema é que tenho um array ordenado do maior valor para o menor, e queria que eliminasse os elementos repetidos...o que eu estava a pensar fazer era algo do género:

for i=1 to 10

      for j=i+1 to 10

          if array(j) = array (i) then

          delete array(j)

          end if

      next j

next i

Agora se esse comando não existir ... :cheesygrin:

é possível manipular uma lista como um vector, do género ,

for i=1 to 10

      for j=i+1 to 10

          if Nome_da_lista (j) = Nome_da_lista (i) then

          delete Nome_da_lista (j)

          end if

      next j

next i

?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nazgulled    8
Nazgulled

Mas isto que estas a fazer é algum tipo de exercício ou estas à procura da solução para um determinado problema? É que se for exercício, a minha sugestão não serve de nada... Se for algum problema que tens de resolver, depende do que realmente queres fazer para saber qual a melhor estrutura de dados.

Mas experimenta usar o ArrayList, deve ser suficiente:

http://msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dlemos    0
dlemos

Não é um exercício, faz parte de um problema que tenho que resolver, e torna-se necessário retornar um vector de valores ordenados para uma série de cálculos posteriores.

Ok obrigado, vou tentar as arraylist e depois digo algo, cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
YoungCoder    0
YoungCoder

O que pretendes tem um nome, chama-se bubblesort é um metodo de ordenação, pesqiosa pela net que de certeza vais encontrar, mas é algo assim do genero:

Private Sub BubbleSort(sArr1() As String, sArr2() As String)
Dim iCount     As Integer
Dim i          As Integer
Dim j          As Integer
Dim strTemp    As String

   iCount = UBound(sArr1)
   For j = 0 To iCount - 1
      For i = 0 To iCount - 1
         If sArr1(i) > sArr1(i + 1) Then
            strTemp = sArr1(i + 1)
            sArr1(i + 1) = sArr1(i)
            sArr1(i) = strTemp
            strTemp = sArr2(i + 1)
            sArr2(i + 1) = sArr2(i)
            sArr2(i) = strTemp
            DoEvents
         ElseIf sArr1(i) = sArr1(i + 1) Then
            If sArr2(i) > sArr2(i + 1) Then
               strTemp = sArr2(i + 1)
               sArr2(i + 1) = sArr2(i)
               sArr2(i) = strTemp
            End If
            DoEvents
         End If
      Next i
   Next j
End Sub

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dlemos    0
dlemos

Peço desculpa queria dizer eliminar repetidos em vez de ordenar.

Também era necessário ordenar mas isso já tinha conseguido.

De qualquer forma tenho agora outra dúvida, mas como é um pouco diferente publiquei outro tópico.

Obrigado pela ajuda prestada, abraço

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade