Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alex Martins

difícil tarefa!?!?

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.