Buscar

como criar uma função em linguagem C que faça a união entre elementos de dois conjuntos sem repetir os elementos iguais?

💡 4 Respostas

User badge image

Alex Souza

claro

0
Dislike0
User badge image

Andre Smaira

O algoritmo será:

{

// Antes de encontrar a união, certifique-se de que arr1 [0..m-1]

// é menor

if (m> n)

{

int * tempp = arr1;

arr1 = arr2;

arr2 = tempp;

int temp = m;

m = n;

n = temp;

}

// Agora arr1 [] é menor

// Ordena o primeiro array e imprime seus elementos (esses dois

// as etapas podem ser trocadas, pois a ordem na saída não é importante)

sort (arr1, arr1 + m);

para (int i = 0; i <m; i ++)

cout << arr1 [i] << "";

// Pesquisar todos os elementos da matriz maior em uma matriz menor

// e imprime o elemento se não for encontrado

para (int i = 0; i <n; i ++)

if (binarySearch (arr1, 0, m-1, arr2 [i]) == -1)

cout << arr2 [i] << "";

}

// Imprime intersecção de arr1 [0..m-1] e arr2 [0..n-1]

void printIntersection (int arr1 [], int arr2 [], int m, int n)

{

// Antes de encontrar o cruzamento, certifique-se de arr1 [0..m-1]

// é menor

if (m> n)

{

int * tempp = arr1;

arr1 = arr2;

arr2 = tempp;

int temp = m;

m = n;

n = temp;

}

// Agora arr1 [] é menor

// Classificar array menor arr1 [0..m-1]

sort (arr1, arr1 + m);

// Pesquisar todos os elementos da matriz maior em menores

// array e imprime o elemento se encontrado

para (int i = 0; i <n; i ++)

if (binarySearch (arr1, 0, m-1, arr2 [i])! = -1)

cout << arr2 [i] << "";

}

0
Dislike0
User badge image

Andre Smaira

O algoritmo será:

{

// Antes de encontrar a união, certifique-se de que arr1 [0..m-1]

// é menor

if (m> n)

{

int * tempp = arr1;

arr1 = arr2;

arr2 = tempp;

int temp = m;

m = n;

n = temp;

}

// Agora arr1 [] é menor

// Ordena o primeiro array e imprime seus elementos (esses dois

// as etapas podem ser trocadas, pois a ordem na saída não é importante)

sort (arr1, arr1 + m);

para (int i = 0; i <m; i ++)

cout << arr1 [i] << "";

// Pesquisar todos os elementos da matriz maior em uma matriz menor

// e imprime o elemento se não for encontrado

para (int i = 0; i <n; i ++)

if (binarySearch (arr1, 0, m-1, arr2 [i]) == -1)

cout << arr2 [i] << "";

}

// Imprime intersecção de arr1 [0..m-1] e arr2 [0..n-1]

void printIntersection (int arr1 [], int arr2 [], int m, int n)

{

// Antes de encontrar o cruzamento, certifique-se de arr1 [0..m-1]

// é menor

if (m> n)

{

int * tempp = arr1;

arr1 = arr2;

arr2 = tempp;

int temp = m;

m = n;

n = temp;

}

// Agora arr1 [] é menor

// Classificar array menor arr1 [0..m-1]

sort (arr1, arr1 + m);

// Pesquisar todos os elementos da matriz maior em menores

// array e imprime o elemento se encontrado

para (int i = 0; i <n; i ++)

if (binarySearch (arr1, 0, m-1, arr2 [i])! = -1)

cout << arr2 [i] << "";

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais