Subconjunto de um conjunto

Tou com alguma dificuldade em resolver:

dado por expl. um conjunto {2,5,6,9}
criar e imprimir os subconjuntos:

{2,5}
{2,6}
{2,9}
{5,6}
{5,9}
{6,9}

Alguem tem uma ideia?!
obrigada!

[quote=titania]Tou com alguma dificuldade em resolver:

dado por expl. um conjunto {2,5,6,9}
criar e imprimir os subconjuntos:

{2,5}
{2,6}
{2,9}
{5,6}
{5,9}
{6,9}

Alguem tem uma ideia?!
[/quote]

O que vc quer são combinações 2 a 2 dos elementos do conjunto.
Crie uma iteração entre os elementos que lhe permite iterar o primeiro elemento e depois uma outra iteração
que lhe permite iterar o segundo.

Sim é isso que queria…mas tou com dificuldade no codigo…
Alguem pode-me me dar uma luz como se faz o codigo?

Posta ai o que você já fez até agora que a gente te da uma luz, por que postar o código inteiro só pagando =)
rsrs

Isto foi o que fiz…mas tá mal…

[code]
import java.util.Scanner;

public class ex_4_3 {

public static void subconjuntos(int[]x){
	
	for(int i=0,j=1;i< x.length;i++){
		System.out.print("{"+i+","+j+"}");
	 j++;
	}
}

public static void main (String[] args){	
	
	Scanner keyboard = new  Scanner(System.in);
	
	//n--> número de elementos
	System.out.print("Insira o nº de elementos do conjunto: ");
	int n = keyboard.nextInt();
	
	int [] X = new int [n];
	
	System.out.println("Insira os valores do conjunto: ");
	
	for (int i= 0; i< X.length; i++){
		System.out.print((i+1)+"º Elemento ");
			X [i]= keyboard.nextInt();
			}
	
	subconjuntos(X);
	}

}[/code]

Tente ver se é isso.

import java.util.Scanner;

public class ex_4_3 {

    public static void subconjuntos(int[] x) {

        for (int i = 0; i < x.length; i++) {
            for (int j = 0; j < x.length; j++) {
                if (i != j && j > i) {
                    System.out.print("{" + x[i] + "," + x[j] + "}");
                }
            }
        }
    }

    public static void main(String[] args) {

        Scanner keyboard = new Scanner(System.in);

        //n--> número de elementos
        System.out.print("Insira o nº de elementos do conjunto: ");
        int n = keyboard.nextInt();

        int[] X = new int[n];

        System.out.println("Insira os valores do conjunto: ");

        for (int i = 0; i < X.length; i++) {
            System.out.print((i + 1) + "º Elemento ");
            X[i] = keyboard.nextInt();
        }

        subconjuntos(X);
    }
}

Humm… eu posso fazer uso de dois Sets

[code]import java.util.*;

public class A{
public static void main(String [] xxx){
Set numeros, outros;

	numeros = new TreeSet<Integer>();
	
	numeros.add(2);
	numeros.add(5);
	numeros.add(6);
	numeros.add(9);
	
	outros = new TreeSet<Integer>(numeros);
	
	for(Integer i : numeros){			
		outros.remove(i);
		for(Integer j : outros){
			System.out.printf("{%d,%d}\n",i ,j);
		}
	}		
}

}[/code]

sem o “outros.remove(i)” eu faria uma matriz com todas as combinações.

entretanto eu combino todos os numeros com os numeros ‘restantes’.

Bem que eu queria fazer no mesmo Set, mas eu recebo diversos “ConcurrentModificationException” :?

Muito obrigada!!!
Valeu a ajuda
:smiley: