[caption id="attachment_1052" align="aligncenter" width="867"] 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 :
Publicar un comentario