Adsence

jueves, 2 de junio de 2011

Operaciones-entre-Conjuntos

Leave a Comment
[caption id="attachment_1052" align="aligncenter" width="867"]Operaciones entre Conjuntos Operaciones entre Conjuntos[/caption]

Dado dos conjuntos de elementos hallar las operaciones de:
Union,
Interseccion,
Cardinalidad,
Complemento,
Diferencia y
Producto Cartesiano.



[java]

package conjuntos;

import java.util.LinkedList;

public class Main {

public static LinkedList conjA=new LinkedList();
public static LinkedList conjB=new LinkedList();

public static void main(String[] args) {
// TODO code application logic here
//LLENAR EL CONJUNTOA
conjA.add("pollo");
conjA.add("pato");
conjA.add("caballo");
conjA.add("conejo");
conjA.add("vaca");
conjB.add("pollo");
conjB.add("perro");
conjB.add("gato");
conjB.add("raton");
conjB.add("conejo");
//imprimir
imprimir(conjA);
imprimir(conjB);
//cardinalidad
cardinalidad(conjA);
cardinalidad(conjB);
//complemento
complemento(conjA,conjB);
//Diferencia, elementos de A que no estan en B
diferencia(conjA,conjB);
//union,elementos de A y B en comun
union(conjA,conjB);
//los que estan en comun en ambos
interseccion(conjA,conjB);
//cada elemento de A, multiplica cada elemento de B
productoCartesiano(conjA,conjB);

}

private static void imprimir(LinkedList con) {
for(int i=0;i< con.size();i++)
{
System.out.print(con.get(i).toString()+" \t");
}
System.out.println();

}

private static void cardinalidad(LinkedList conj) {
System.out.println("Cardinalidad:"+conj.size());
}

private static void complemento(LinkedList conjA, LinkedList Uni)
{
boolean a=true;
System.out.print("\n Complemento:");
for(int i=0;i< Uni.size();i++)
{

String elem1=(String)Uni.get(i);
for(int j=0;j< conjA.size();j++)
{

String elem2=(String)conjA.get(j);
if(elem2.equals(elem1))
a=false;
}
if(a==true)
System.out.print(elem1+"\t");
a=true;

}
}

private static void diferencia(LinkedList conjA, LinkedList conjB)
{
boolean a=true;
System.out.print("\n Diferencia:");
for(int i=0;i< conjA.size();i++)
{

String elem1=(String)conjA.get(i);
for(int j=0;j< conjB.size();j++)
{

String elem2=(String)conjB.get(j);
if(elem2.equals(elem1))
a=false;
}
if(a==true)
System.out.print(elem1+"\t");
a=true;

}
}

private static void union(LinkedList conjA, LinkedList conjB) {
boolean a=true;
LinkedList union=new LinkedList();
System.out.print("\n Union:");

for(int i=0;i< conjA.size();i++)
{
System.out.print(conjA.get(i).toString()+" \t");
}
String aux="";
for(int i=0;i< conjB.size();i++)
{

String elem1=(String)conjB.get(i);
//System.out.println("i:"+i);
//System.out.println("tam A:"+conjA.size());
for(int j=0;j< conjA.size();j++)
{

String elem2=(String)conjA.get(j);
if(elem2.equals(elem1)){
a=false;
}
}
if(a==true)
System.out.print(elem1+" \t");
a=true;

}
//System.out.println(union.size());
imprimir(union);
}

private static void interseccion(LinkedList conjA, LinkedList conjB)
{
boolean a=true,disyunto=true;
System.out.print("\n Interseccion:");
for(int i=0;i< conjA.size();i++)
{

String elem1=(String)conjA.get(i);
for(int j=0;j< conjB.size();j++)
{

String elem2=(String)conjB.get(j);
if(elem2.equals(elem1))
a=false;
}
if(a==false)
{
System.out.print(elem1+"\t");
disyunto=false;
}
a=true;

}
if(disyunto==true)
System.out.println("Los conjuntos son disyuntos porque la interseccion es vacia");

}

private static void productoCartesiano(LinkedList conjA, LinkedList conjB)
{
System.out.println("\n Producto Cartesiano");
for(int i=0; i< conjA.size();i++)
{
for(int j=0;j< conjB.size();j++)
{
System.out.print("("+conjA.get(i).toString()+","+conjB.get(j).toString()+")"+" \t");
}
}

}

}

[/java]

0 comentarios :