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!
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