Ir ao conteúdo
  • Cadastre-se

Resolver exercícío visual g vetores - dado dois vetores, a (5 elementos) e b (8


Posts recomendados

Bom dia Galera,

estou tentando resolver esse exercício mais não consigo, de todo jeito que eu faço não da certo. Alguém pode me ajudar?

 

Dado dois vetores, A (5 elementos) e B (8 elementos), faça um programa que imprima todos os elementos comuns aos dois vetores.

 

Fiz mais ou menos assim.

 

var
i,k,m: inteiro
vetA: vetor[1..5] de inteiro
vetB: vetor[1..8] de inteiro
inicio
// Seção de Comandos
   para i de 1 ate 5 faca
   escreva ("Digite o", i, " número : ")
   leia (vetA)
fimpara
   para i de 1 ate 8 faca
   escreva ("Digite o", i, " número : ")
   leia (vetB)
fimpara
       para i de 1 ate 8 faca
       se (vetA = vetB) então
       K<-i
       senao
       m<-k
       fimse
       fimpara
       
       escreval (k)

 
fimalgoritmo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Neste caso você precisa de dois laços de repetição, um para percorrer cada vetor. Da forma como está a busca será assim:

vetA[1] = vetB[1]

vetA[2] = vetB[2] ...

 

Mas se você quer testar todas os elementos tente comparar assim

vetA[ i ] = vetB[ j ]

 

com i percorrendo de 1 ate 5 e j percorrendo de 1 ate 8.

 

Espero ter ajudado.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @Laize Neves,

 

Basicamente você precisa comparar cada posição do vetA com cada posição do vetB.

 

Algo do tipo:
 

para ii de 1 ate 5  //para cada posição de vetA
  para jj de 1 ate 8  //para cada posição vetB
    se (vetA[ii] = vetB[jj]) então
      
    fimse
  fimpara
fimpara

 

 

No aguardo.

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

Oi @Simon Veigas, fiz desse jeito, quando faço 1,2,3,4,5 da certo mais se uso outros números não. não sei se é na hora de mostrar eu só coloquei o J, Ficou desse jeito:

 

var
i,j: inteiro
vetA: vetor[1..5] de inteiro
vetB: vetor[1..8] de inteiro
inicio
// Seção de Comandos
   para i de 1 ate 5 faca
   escreva ("Digite o", i, " número : ")
   leia (vetA)
fimpara
   para j de 1 ate 8 faca
   escreva ("Digite o", j, " número : ")
   leia (vetB[j])
fimpara
       para i de 1 ate 5 faca
       para j de 1 ate 8 faca
       se (vetA = vetB[j]) então
            escreval (j)
       
       fimse
       fimpara
       fimpara
       
fimalgoritmo

 

O que está de errado?

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @Laize Neves,

 

Você precisa escrever o "elemento comum", não a posição do elemento.

ou

escreval (vetA[ii])

ou

escreval (vetA[jj])



Sugiro dar mais atenção a identação... no meu padrão ficaria assim:

 

var
  ii,jj: inteiro
  vetA : vetor[1..5] de inteiro
  vetB : vetor[1..8] de inteiro
inicio
// Seção de Comandos
para ii de 1 ate 5 faca
  escreva ("Digite o ",ii," número : ")
  leia (vetA[ii])
fimpara
para jj de 1 ate 8 faca
  escreva ("Digite o ",jj, " número : ")
  leia (vetB[jj])
fimpara
para ii de 1 ate 5 faca
  para jj de 1 ate 8 faca
    se (vetA[ii] = vetB[jj]) então
      escreval (vetA[ii])
    fimse
  fimpara
fimpara

É necessário deixar visualmente claro que determinadas instruções estão dentro de outras...

Obs.: "ii" e "jj", pois o i entre colchetes está sendo interpretado como itálico.

No aguardo.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

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

×
×
  • Criar novo...