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] << "";
}
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] << "";
}
Para escrever sua resposta aqui, entre ou crie uma conta
Algoritmos e Programação de Computadores
Algoritmos e Programação de Computadores
Algoritmos e Programação de Computadores
•UNIVESP
Compartilhar