jueves, 26 de octubre de 2017

INTERSECCIÓN,UNIÓN Y DIFERENCIA DE CONJUNTO USANDO ARREGLO

package conjuntos;

/**
 *
 *
 */
public class Conjunto {
    public int []almacen;
public int limite, NumElem;
public Conjunto()
{
this.limite=10;
this.almacen=new int[this.limite];
for(this.NumElem=0;this.NumElem<this.limite;this.NumElem++)
this.almacen[this.NumElem]=(int) Math.random()*100;
}
public Conjunto(int li)
{
this.limite=li;
this.NumElem=0;
this.almacen=new int[this.limite];
}
public void setlimite(int li)
{
this.limite=li;
this.NumElem=0;
this.almacen=new int[this.limite];
}
public int getNumElem()
{
return(NumElem);
}
public void AgreElem(int E)
{
this.almacen[this.NumElem]=E;
this.NumElem++;
//System.out.println(" ");
}
public void VerElemConj()
{
for(int i=0;i<this.NumElem;i++)
System.out.println(this.almacen[i]);
}
public boolean BusElem(int E)
{
boolean existe=false;
int i=0;
while(!existe&&i<this.NumElem)
{
if(this.almacen[i]==E)
existe=true;
i++;
}
return(existe);
}
public Conjunto union(Conjunto c2)
{
Conjunto c3=new Conjunto();
c3.setlimite(this.getNumElem()+c2.getNumElem());
int i;
for(i=0;i<this.getNumElem();i++)
{
if(!c3.BusElem(this.almacen[i]))
c3.AgreElem(this.almacen[i]);
}
for(i=0;i<c2.getNumElem();i++)
{
if(!c3.BusElem(c2.almacen[i]))
c3.AgreElem(c2.almacen[i]);
}
return(c3);
}
public Conjunto InterConj(Conjunto c2)
{
Conjunto c3=new Conjunto();
if(this.getNumElem()<=c2.getNumElem())
c3.setlimite(this.getNumElem());
else
c3.setlimite(c2.getNumElem());
for(int i=0;i<this.getNumElem();i++)
{
for(int j=0;j<c2.getNumElem();j++)
{
if(this.almacen[i]==c2.almacen[j])
{
if(!c3.BusElem(this.almacen[i]))
{
c3.AgreElem(this.almacen[i]);
break;
}
}
}
}
return(c3);
}
public Conjunto DifConj(Conjunto c2)
{
Conjunto c3=new Conjunto();
c3.setlimite(this.getNumElem());
for(int i=0;i<this.getNumElem();i++)
{
if(!c2.BusElem(this.almacen[i]))
{
if(!c3.BusElem(this.almacen[i]))
c3.AgreElem(this.almacen[i]);
}
}
return(c3);
}
}

--------------------------------

package conjuntos;

import java.util.Scanner;

/**
 *
 * @author Usuario
 */
public class Vector {
    private int indVector ;
private int limVector ;
private int Vector[] ;
private Scanner sc = new Scanner(System.in);

    public Vector(){
    this.indVector=0;
    this.limVector=5;
    this.Vector = new int[this.limVector];
    }

    public Vector(int limite){
    this.indVector=0;
    this.limVector=limite;
    this.Vector = new int[this.limVector];
    }

    public void llenar_vector(int limite){

    this.limVector = limite;
    int dato = 0;
    System.out.println(" Ingrese datos al vector: ");
    for(int i=0;i<this.limVector;i++)
       {
        dato=sc.nextInt();
        this.Vector[i]=dato;
       }
    }

    public void mostrar_vector(){
    System.out.println(" Valores del Vector son:");
    for(int i=0;i<this.limVector;i++)
            {
             System.out.println(this.Vector[i]);
            }
    }

    public int[] getVector() {
    return Vector;
    }
}

----------------

package conjuntos;

import java.util.Scanner;

/**
 *
 * @author Usuario
 */
public class principalConjunto {
     public static void main(String []args)
    {
Conjunto c1,c2,c3;
int N1;
int N2;
        Scanner sc = new Scanner(System.in);
do
{
            System.out.print("Ingrese numero de elementos del conjunto A: ");
           // N1= sc.nextInt();
           N1=(int)Math.round(Math.random()*5)+1;
           System.out.println(N1);
            
}
while(N1<=0);
do
{
            System.out.print("Ingrese numero de elementos del conjunto B: ");
            //N2= sc.nextInt();
           N2=(int)Math.round(Math.random()*5)+1;
           System.out.println(N2);
}
while(N2<=0);
        System.out.println(" ");
        
        System.out.println("Ingrese elementos del conjunto A: ");
        c1=new Conjunto(N1);
for(int i=0;i<N1;i++)
            c1.AgreElem((int)Math.round(Math.random()*20)+1);
            c1.VerElemConj();
        System.out.println("Ingrese elementos del conjunto B: ");
c2=new Conjunto(N2);
        for(int j=0;j<N2;j++)
            c2.AgreElem((int)Math.round(Math.random()*20)+1);
            c2.VerElemConj();
        c3=c1.union(c2);
        System.out.println("A Union B:");
        c3.VerElemConj();
        c3=c2.union(c1);    
        System.out.println("B Union A:");
        c3.VerElemConj();
        c3=c1.InterConj(c2);
        System.out.println("A Interseccion B:");
        c3.VerElemConj();
        c3=c2.InterConj(c1);
        System.out.println("B Interseccion A:");
        c3.VerElemConj();
        c3=c1.DifConj(c2);
        System.out.println("A Diferencia B:");
        c3.VerElemConj();
        c3=c2.DifConj(c1);
        System.out.println("B Diferencia A:");
        c3.VerElemConj();
    }   
}

No hay comentarios.:

Publicar un comentario