Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
gostaria que me ajudassem a resolver o seguinte problema:
Objetivo: desenvolver aplicações de Teoria dos Conjuntos, Relações e Funções Binárias com o uso de algoritmos.
I – Teoria dos Conjuntos
Considere os conjuntos A, B, C, D, ... formado pelos algarismos dos RA´s de cada um dos participantes do grupo (o conjunto A sendo o conjunto formado pelos algarismos do RA do aluno A, e assim sucessivamente).
Encontre os conjuntos:
A U B
A U C
B U C
A U B U C U D ... (TODOS OS CONJUNTOS)
A ∩ B ∩ C ∩ D ... (TODOS OS CONJUNTOS)
Escreva um algoritmo para ler e ordenar os RA´s em conjuntos e determinar as operações pedidas acima.
Calcule o número de subconjuntos de cada um dos conjuntos e descreva duas partições de cada um deles. Escreva também um algoritmo para executar esses cálculos, e que imprima na tela uma lista com TODOS os subconjuntos de cada conjunto.
Já consegui fazer alguma coisa... receber os números de RA´s e desmembra-los...
#include <stdio.h>void main(){ int i,num[6]; int nra[9]; for (i=1;i<=6;i++) { printf ("Informe o RA do %do. aluno:\n", i); scanf ("%d",&num[i]); } printf ("\nUNIAO DE TODOS OS CONJUNTOS:\n\n"); for(i=1;i<=6;i++) { nra[1]=(num[i] % 10); nra[2]=(num[i] % 100)/10; nra[3]=(num[i] % 1000)/100; nra[4]=(num[i] % 10000)/1000; nra[5]=(num[i] % 100000)/10000; nra[6]=(num[i] % 1000000)/100000; nra[7]=(num[i] % 10000000)/1000000; nra[8]=(num[i] % 100000000)/10000000; nra[9]=(num[i] % 1000000000)/100000000; //separação dos conjuntos printf ("{ %d",nra[9]); if (nra[8]!=nra[9]) { printf (" ,%d",nra[8]); } if (!(nra[7]==nra[9]) && (nra[7]!=nra[8])) { printf (" ,%d",nra[7]); } if (!(nra[6]==nra[9])&&(nra[6]!=nra[8])&&(nra[6]!=nra[7])) { printf (" ,%d",nra[6]); } if (!(nra[5]==nra[9])&&(nra[5]!=nra[8])&&(nra[5]!=nra[7])&&(nra[5]!=nra[6])) { printf (" ,%d",nra[5]); } if (!(nra[4]==nra[5])&&(nra[4]!=nra[9])&&(nra[4]!=nra[8])&&(nra[4]!=nra[7])&&(nra[4]!=nra[6])) { printf (" ,%d",nra[4]); } if (!(nra[3]==nra[4])&&(nra[3]!=nra[5])&&(nra[3]!=nra[9])&&(nra[3]!=nra[8])&&(nra[3]!=nra[7])&&(nra[3]!=nra[6])) { printf (" ,%d",nra[3]); } if (!(nra[2]==nra[3])&&(nra[2]!=nra[5])&&(nra[2]!=nra[9])&&(nra[2]!=nra[8])&&(nra[2]!=nra[7])&&(nra[2]!=nra[6])&&(nra[2]!=nra[4])) { printf (" ,%d",nra[2]); } if (!(nra[1]==nra[2])&&(nra[1]!=nra[3])&&(nra[1]!=nra[5])&&(nra[1]!=nra[9])&&(nra[1]!=nra[8])&&(nra[1]!=nra[7])&&(nra[1]!=nra[6])&&(nra[1]!=nra[4])) { printf (" ,%d ",nra[1]); } printf(" }\n\n"); }}Alguém poderia me ajudar em como fazer a união dos números e descartar os repeditos e também fazer a inserção dos números, ou seja, o que eles tem em comum???
Aguardando uma ajuda :D
Carregando comentários...