Faça um programa que leia dois vetores de 10 elementos. Crie um vetor que seja a intersecção entre os 2 vetores anteriores, ou seja, que contém apenas os números que estão em ambos os vetores. Não deve conter números repetidos.

Passo 1

O enunciado pede um programa que leia dois vetores de 10 elementos inteiros e produza um terceiro vetor com a intersecção desses dois, sem repetições. O conteúdo envolve estruturas de repetição (loops), comparação de elementos e controle de duplicatas.

Passo 2

Primeiro, fazemos a leitura dos dois vetores: percorremos índices de 0 a 9 armazenando os valores lidos em cada um dos vetores originais.
Em seguida, inicializamos um índice k igual a zero, que vai indicar quantos elementos já inserimos no vetor de intersecção.

Passo 3

Depois, para cada elemento do primeiro vetor, percorremos todo o segundo vetor procurando uma igualdade. Se encontrarmos vet1[i] igual a vet2[j], temos um candidato para a intersecção.
Antes de inserir esse candidato no vetor de intersecção, precisamos garantir que ele ainda não foi inserido. Para isso, fazemos um loop sobre os k elementos já gravados no vetor de intersecção. Se não encontrarmos repetição, gravamos o valor em inter[k] e incrementamos k.

Passo 4

Por fim, após terminar as comparações, imprimimos os k primeiros elementos do vetor de intersecção, que são exatamente os números que aparecem em ambos os vetores, sem repetições.

Resposta

// Pseudocódigo para intersecção de dois vetores de 10 elementos
declare vet1[10], vet2[10], inter[10]
declare inteiro i, j, l, k, found
// Leitura dos vetores
t para i de 0 até 9 faça
leia vet1[i]
fim para
para i de 0 até 9 faça
leia vet2[i]
fim para
// Inicializa contador da intersecção
k ← 0
// Monta vetor de intersecção
para i de 0 até 9 faça
para j de 0 até 9 faça
se vet1[i] = vet2[j] então
// Verifica se já existe em ‘inter’
found ← falso
para l de 0 até k-1 faça
se inter[l] = vet1[i] então
found ← verdadeiro
pare
fim se
fim para
// Se não existe, adiciona
se not found então
inter[k] ← vet1[i]
k ← k + 1
fim se
pare // sai do loop j e vai para o próximo i
fim se
fim para
fim para
// Impressão do resultado
para i de 0 até k-1 faça
escreva inter[i]
fim para

Exercícios relacionados