Ir ao conteúdo

Posts recomendados

Postado

Estou fazendo na faculdade uma matéria de VBA, mas estou tendo muita dificuldade, tenho que entregar duas questões para hoje, uma delas é essa aqui:

 

"Escreva uma subrotina que receba um vetor x de qualquer tamanho como parâmetro de entrada e retorne um vetor y contendo os elementos de x sem repetição de elementos. Por exemplo: x=[1 2 5 1 7 9 8 0 6 4 2 8 3 41 8 0 200 7 -0,6 1], então y=[1 2 5 7 9 8 0 6 4 3 41 200 -0,6]. Escreva também a subrotina que chama sua sub."

 

porém não sei nem por onde começar, será que alguém consegue me dar um norte de por onde eu tenho que ir?

  • Obrigado 1
  • Triste 1
Postado

@Gameiro Na função inicie o novo vetor com o primeiro elemento do outro vetor e depois use dois loops aninhados: O mais externo referente ao vetor passado como argumento e o mais interno do vetor que receberá os elementos. E assim poderá testar cada elemento para não duplicar os valores. Com o comando ReDim você pode ir aumentando o tamanho do novo vetor a medida que novos elementos são inseridos.

  • Obrigado 2
Postado
  Em 09/07/2021 às 22:05, Midori disse:

@Gameiro Na função inicie o novo vetor com o primeiro elemento do outro vetor e depois use dois loops aninhados: O mais externo referente ao vetor passado como argumento e o mais interno do vetor que receberá os elementos. E assim poderá testar cada elemento para não duplicar os valores. Com o comando ReDim você pode ir aumentando o tamanho do novo vetor a medida que novos elementos são inseridos.

Expandir  

Muito Obrigado amigo, sempre salvando com VBA, infelizmente mesmo com sua explicação não estou conseguindo desenvolver os dois loops aninhados para testar os valores

  • Curtir 1
  • Moderador
Postado

Caro usuário,

 

Seja bem-vindo ao Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

  • Curtir 2
Postado
  Em 09/07/2021 às 23:39, DiF disse:

Caro usuário,

 

Seja bem-vindo ao Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

Expandir  

Com certeza! essa não foi minha intenção, apenas estou tendo muita dificuldade em interpretar mesmo o que deve ser feito.

 

até por sinal esta é a parte na qual estou travado:

Sub repeticao()
Dim n As Integer, i As Integer, y As Single, j As Integer
Dim v() As Single
n = InputBox("Digite um tamanho (inteiro) para o vetor")
ReDim v(n)

For i = 1 To UBound(v)
    v(i) = Int(Rnd * 10)
    Cells(1, i) = v(i)
Next
Dim flag As Boolean
    For i = 0 To n - 1
        flag = False
        For j = 0 To i - 1
            If v(i) = v(j) Then
                flag = True
                Exit For
            End If
        Next j
        If flag = False Then
            Cells(2, i) = v(i)
            
        End If
    Next i

End Sub

 

foi mais ou menos onde consegui chegar com a ajuda do @Midori , porém não estou conseguindo agora transformar em um novo vetor e mostrar na tela. que seria o final da questão acredito eu.

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!