Dev - C++ - Comparar 2 arreglos e imprimir por que valores se diferecian (AYUDAAAA)

 
Vista:
sin imagen de perfil
Val: 8
Ha disminuido su posición en 107 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Comparar 2 arreglos e imprimir por que valores se diferecian (AYUDAAAA)

Publicado por Horseman (4 intervenciones) el 20/06/2020 13:33:30
Tengo este codigo en el cual por medio de busqueda binaria se como el valor de lista1[ i ] con el arreglo de lista2[ ] pero si no se encuentra imprimir ese valor, solo que no se como sea el condicional

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<iostream>
#include<conio.h>
 
using namespace std;
 
void busquedaBinaria();
 
    int lista1[] = { 10, 50, 70, 80, 90};
    int lista2[] = { 50, 50, 80, 90};
 
int main(){
 
 
    busquedaBinaria();
 
    getch();
    return 0;
}
 
void busquedaBinaria(){
 
    int inf,sup,mitad,dato,i;
 
 
    inf=0;
    sup=5;
    i=0;
 
    while((inf<=sup)&&(i<5)){
        mitad = (inf+sup)/2;
 
        if(lista2[mitad] == lista1[i]){
 
        }
        if(lista2[mitad]>lista1[i]){
            sup = mitad;
            mitad = (inf+sup)/2;
            cout<<mitad<<endl;
        }
        if(lista2[mitad]<lista1[i]){
            inf = mitad;
            mitad = (inf+sup)/2;
        }
        i++;
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 8
Ha disminuido su posición en 107 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Comparar 2 arreglos e imprimir por que valores se diferecian (AYUDAAAA)

Publicado por Horseman (4 intervenciones) el 20/06/2020 13:56:58
Los numeros que estan en la lista 1 se van a compara los valores de la lista 2, la pregunta seria como imprimo los valores de la lista 1 que no estan en la lista 2 usando busqueda binaria o algun otro metodo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Comparar 2 arreglos e imprimir por que valores se diferecian (AYUDAAAA)

Publicado por Rodrigo (539 intervenciones) el 20/06/2020 14:17:40
Los arreglos estan ordenados de menorr a mayor?
Parece un dato relevante y no lo has dicho.

Puede haber duplicados?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 8
Ha disminuido su posición en 107 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Comparar 2 arreglos e imprimir por que valores se diferecian (AYUDAAAA)

Publicado por Horseman (4 intervenciones) el 20/06/2020 15:01:40
Disculpe claro asi es, los arreglos estan ordenados de menor a mayor por ejemplo:

1
2
3
lista_1 [ ] = { 10, 50, 70, 80, 90};
 
lista_2 [ ] = { 50, 50, 80, 90};

Entonce al comparar lista_1 [ 0 ] = 10 con los valores del arreglo lista_2[ ] no se va encontrar, entonces el valor de lista_1[ i ] donde i seria 0 se estaría agregando a un nuevo arreglo o lista y asi sucesivamente por lo que el arreglo o lista que se va a imprimir seria el siguiente:

1
lista_3 [ ] = { 10 , 70 }   //que son los valores de lista_1 que no se encuentran en lista_ 2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Comparar 2 arreglos e imprimir por que valores se diferecian (AYUDAAAA)

Publicado por Rodrigo (539 intervenciones) el 20/06/2020 17:06:55
Una manera de resolver el problema sin usar la busqueda binaria es recorrer ambas listas simultaneamente, manteniendo 2 indices, uno por cada arreglo, comenzando desde el inicio de cada lista.

Se comparan los elementos apuntados por los indices, y si resultan ser distintos, se escribe el menor y se avanza en esa lista.
Si resultan ser iguales se saltan ambos.

1
2
3
4
5
6
7
8
9
10
[ 2 4 6 9 10 ]   [ 1 2 6 7 10 ] -> l1 > l2, l2 menor, imprimir desde l2 y avanzar
  ^                ^
[ 2 4 6 9 10 ]   [ 1 2 6 7 10 ] -> iguales, no imprimir, avanzar ambas listas
  ^                  ^
[ 2 4 6 9 10 ]   [ 1 2 6 7 10 ] -> l1 < l2, l1 menor, imprimir desde l1 y avanzar
    ^                  ^
[ 2 4 6 9 10 ]   [ 1 2 6 7 10 ] ->  iguales, no imprimir, avanzar ambas listas
      ^                ^
[ 2 4 6 9 10 ]   [ 1 2 6 7 10 ] -> ...
        ^                ^
asi hasta que se acabe alguna o ambas listas.
Cuando esto ocurra, escribes el resto de la lista que no se ha acabado aun.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 8
Ha disminuido su posición en 107 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Comparar 2 arreglos e imprimir por que valores se diferecian (AYUDAAAA)

Publicado por Horseman (4 intervenciones) el 20/06/2020 18:18:04
De acuerdo lo voy a intentar muchas gracias . saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar