Faça um programa que leia dois vetores de 10 elementos. Crie um vetor que seja a união entre os 2 vetores anteriores, ou seja, que contém os números dos dois vetores. Não deve conter números repetidos.
Passo 1
O programa vai ler dois vetores de 10 elementos cada e construir um terceiro vetor contendo todos os valores dos dois vetores sem repetição.
Passo 2
Primeiro, definimos um vetor de união vazio (maior que 20 posições para garantir espaço) e mantemos um contador que indica quantos elementos já foram inseridos.
Em seguida, percorremos o primeiro vetor. Para cada elemento, fazemos uma busca linear no vetor de união para checar se ele já existe; se não existir, adicionamos no final e incrementamos o contador.
Depois, repetimos o mesmo procedimento para o segundo vetor: para cada valor, verificamos se já está na união e, se não estiver, inserimos no final.
Em seguida, percorremos o primeiro vetor. Para cada elemento, fazemos uma busca linear no vetor de união para checar se ele já existe; se não existir, adicionamos no final e incrementamos o contador.
Depois, repetimos o mesmo procedimento para o segundo vetor: para cada valor, verificamos se já está na união e, se não estiver, inserimos no final.
Passo 3
Por fim, o vetor de união conterá todos os valores únicos dos dois vetores de entrada. Basta então imprimir seus elementos.
Resposta
#include <stdio.h>
int main() {
int v1[10], v2[10], uni[20];
int i, j, k = 0;
int v1[10], v2[10], uni[20];
int i, j, k = 0;
// Leitura dos dois vetores
for (i = 0; i < 10; i++) {
printf("Digite v1[%d]: ", i);
scanf("%d", &v1[i]);
}
for (i = 0; i < 10; i++) {
printf("Digite v2[%d]: ", i);
scanf("%d", &v2[i]);
}
// Inserir elementos do primeiro vetor na união
for (i = 0; i < 10; i++) {
int existe = 0;
for (j = 0; j < k; j++) {
if (v1[i] == uni[j]) {
existe = 1;
break;
}
}
if (!existe) {
uni[k++] = v1[i];
}
}
// Inserir elementos do segundo vetor na união
for (i = 0; i < 10; i++) {
int existe = 0;
for (j = 0; j < k; j++) {
if (v2[i] == uni[j]) {
existe = 1;
break;
}
}
if (!existe) {
uni[k++] = v2[i];
}
}
// Imprimir vetor de união
printf("\nVetor união (sem repetidos):\n");
for (i = 0; i < k; i++) {
printf("%d ", uni[i]);
}
printf("\n");
return 0;
}