Ir para conteúdo
Fórum Script Brasil
  • 0

vetores


nego drama

Pergunta

pessoal é o seguinte.

tenho que fazer um algoritmo que leia e monte dois vetores 1 e 2 de N posições com números reais positivos. Depois de montados procure por cada elemento do vetor 1 no vetor 2 e armazene as suas respectivas posições ( somente do primeiro número achado ) em um vetor 3, sendo que os elementos do vetor 1 que não forem encontrados no

vetor 2 deverão ter como valor o número zero no vetor 3

algem me dar essa força eu pensei assim


var
cont, cont_2, conta, cont_3: inteiro
vet_1: vetor [1..10] de real
vet_2: vetor [1..10] de real
vet_3: vetor [1..10] de real
inicio
cont:= 1
cont_2 := 1
enquanto cont<= 10 faca
leia (vet_1 [cont])
cont:= cont + 1
fimenquanto
enquanto cont_2 <= 10 faca
leia (vet_2 [cont_2])
cont_2 := cont_2 + 1
fimenquanto
cont_2 := 1
cont:= 1
conta:= 1
cont_3:= 1
enquanto conta <=10 faca
se(vet_2 [cont_2])= (vet_1 [cont])então
vet_3 [cont_3] := vet_1 [cont]
fimse
cont_2 := cont_2
cont:= cont + 1
conta := conta + 1
cont_3 := cont_3 + 1
fimenquanto
fimalgoritmo
[/codebox]

mas ele não armazena os primeiro numeros encontrados so o últmo

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

nego drama, nesta parte:

enquanto conta <=10 faca
  se(vet_2 [cont_2])= (vet_1 [cont])então
    vet_3 [cont_3] := vet_1 [cont]
  fimse
  cont_2 := cont_2
  cont:= cont + 1
  conta := conta + 1
  cont_3 := cont_3 + 1
fimenquanto

você teria que estar, verficando: "...procure por cada elemento do vetor 1 no vetor 2 ..."

então você tem que variar o indexador de vet_1 de 1 até 10 (para avaliar cada elemento do vetor 1) e, para cada um que você estiver avaliando, você deverá compara com os valores existentes no vetor 2, ou seja, para cada item do vetor 1 avaliado, você deverá comparar com cada item do vetor 2 (de 1 a 10) até que encontre um ou que tenha avaliado todos.

Ao menos parece que é isto que o problema pede.

Se você observar, no seu enquanto, você não está variando o indexador cont_2, porque ele está recebendo ele mesmo. Logo, você está apenas comparando o elemento 1 de vet_2 com todos os elementos de vet_1.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

eu pensei nisso aqui

estou certo?


var
i,x,z: inteiro
vet_1: vetor [1..10] de real
vet_2: vetor [1..10] de real
vet_3: vetor [1..10] de real
inicio
i:= 1
x:= 1
z:= 1
enquanto i <= 10 faca
leia (vet_1 [i])
i:= i + 1
fimenquanto
enquanto x <= 10 faca
leia (vet_2 [x])
x:= x + 1
fimenquanto
i:= 1
para i de 1 ate 10 faca
x:= 1
z:= 1
para x de 1 ate 10 faca
se (vet_1 [i] = vet_2 [x]) então
vet_3 [z] := i
fimse
x:= x + 1
z:= z + 1
fimpara
i:= i + 1
fimpara
fimalgoritmo
[/codebox]

Editado por nego drama
Link para o comentário
Compartilhar em outros sites

  • 0

Acho que agora está mais de acordo com o que você precisa (ou com o que eu entendi :D)

Apenas, observe que o seu indexador z deverá ser incrementado apenas quando o índice atual for utilizado, ou seja, apenas depois que você executa esta atribuição: vet_3 [z] := i, é que você deve executar esta: z:= z + 1

Da forma como está, você sempre incrementa z, independente de o seu teste (se (vet_1 = vet_2 [x]) então) ser válido.

O ideal é que você faça o teste de mesa e confira que o resultado é realmente o que você espera.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...