Skip to content

discretos/utilidades

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Implementação de algumas funções utilitárias para os nossos projectos



Conteúdo de conjuntos/descricao.txt


Teoria dos conjuntos

Tal como as listas, os conjuntos são um agrupamento de elementos diferentes sem alguma ordem em particular. Mais informações sobre os conjuntos pode ser encontrado na matéria ou na internet.

Cada umas das seguintes funções deve ser implementada.

a) percenteConjunto(x, A)
Esta função deve verficar se o elemento x pertence ao conjunto A

b) interseccao(A, B)
Esta função retorna o conjunto intersecção entre os conjuntos A e B


//Exemplo em C
/*
-- Dizando Norton
Breve exemplificação de uma função que identifica o conjunto
resultante da intersecção de dois conjuntos A e B

Isto funcionaria melhor em Java ou Python mais aqui vai
um exemplo inicial em C

*/


#include 
#include 

/* função interseccao, recebe dois vectores (considerados como conjuntos)
de inteiros e os seus tamanos
e diz onde há interseccao
Notem que em Java/Python/C++ devem utilizar objectos (classe Set em Java). 
Aqui estou a usar vectores/ponteiros que não é a melhor opção */

void interseccao(int *A, int *B, int tamanhoA, int tamanhoB){
	int tamanho, i, j, k=0;
	if (tamanhoA >= tamanhoB) tamanho = tamanhoB;
	else tamanho = tamanhoA;

	int *inters = (int *)malloc(tamanho*sizeof(int));
	for (i=0;i<tamanhoA;i++){
		for (j=0;j<tamanhoB;j++){
			if (A[i] == B[j]) inters[k++]=B[j];
		}
	}
	printf("\nInterseccao entre A e B\n");
	if (k==0) {
		printf("NULL\n");
		return;
	}
	printf("{");
	for (i=0;i<k;i++) printf("%d\t", inters[i]);
	printf("}");
	free(inters);
}

int main(){
	int A[5] = {1, 2, 4, 5, 6};
	int B[5] = {2, 3, 5, 7, 8};
	int tamanhoA, tamanhoB;
	tamanhoA = tamanhoB = 5;
	interseccao(A, B, tamanhoA, tamanhoB);
}

c) diferenca(A, B)
Esta função retorna o conjunto diferença entre os conjuntos A e B

d) subconjunto(A, B)
Esta função identifica se o conjunto A é subconjunto de B

e) tamanho(A)
Esta função retorna o tamanho (número de elementos) do conjunto A

f) iguais(A, B)
Esta função identifica se o conjunto A e o conjunto B são iguais.

g) produto(A, B)
Esta função retorna o produto cartesiano entre os conjuntos A e B

NOTAs:

  • De momento as implementações podem ser feitas nas linguagens que preferirem
  • Implementem as funções num ficheiro com os vossos nomes e carreguem no repositório
  • Podem trabalhar em conjunto (aliás esse é um dos principais objectivos)
  • Sintam-se a vontade para discutir as questões no grupo do WP
  • Mais uma vez, vão polindo o vosso Javascript
  • Bom trabalho!!! :-)

About

Apenas algumas funções utilitárias

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages