1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
pertence{
loop (percorrendo o vetor até o fim){
se (o numero estiver dentro do vetor){
retorna 1
}
}
retorna 0
}
contido{
loop (percorre todos os valores do conjunto1){
loop (enquanto não achar o valor atual do conjunto1 em conjunto2){
## Esse loop só percorre o vetor inteiro, procurando elemento igual.
## Se achar, ele sai do loop
}
## Se voce saiu do loop antes de terminar, significa que o elemento está
## dentro do conjunto. Se voce foi até o fim, significa que o elemento
## não está dentro, e então, conjunto 2 não está contido no conjunto 1
se (não percorreu todo o conjunto2){
retorna 0
}
}
## Se chegou até aqui, significa que nenhuma vez ele percorreu todo o con-
## junto 2 inteiro, ou seja, ele encontrou todo elemento do conj1 no conj2
retorna 1
}
adicao{
## Você pode , ao invez de faze o loop abaixo, utilizar sua função pertce
## para ver se o número pertence ao conjunto, se sim, retorna tamanho, se
## não adiciona o valor no vetor. :)
loop (percorre todo o conjunto){
se encontrou o valor no conjunto{
retorna tamanho;
}
}
## Se chegou até aqui, significa que não encontrou o valor no vetor ##
adiciona o valor no vetor
retorna tamanho+1;
}
subtracao{
## assim como na adição, aqui voce pode usar a função pertence novamente.
loop (percorre todo o conjunto){
se encontrou o valor no conjunto{
remove ele do vetor;
retorna tamanho-1;
}
}
retorna tamanho;
}
uniao{
loop (percorre o primeiro conjunto até tam1){
loop (percorre o segundo conjunto até tam2){
se o elemento dos dois forem iguais{
adiciona o elemento no conjunto conjRes;
# Utilize a função adicao() implementada por voce(tamanho = adicao())
# lembre-se que ela retorna o numero de elementos no conjunto após
# a adição
}
}
}
retorna tamanho
}
intersecao{
loop (percorre o primeiro conjunto até tam1){
adiciona os elentos do primeiro conjunto no conjRes
}
loop (percorre o segundo conjunto até tam2){
adiciona os elemento do conjunto2 em conjRes;
# Utilize a função adicao() implementada por voce
#já que ela garante que não serão adicionados dois elementos iguais
}
retorna tamanho;
}
diferenca{
# estou sem tempo para fazer essa como pseudocógido, sorry <3
}
A = {2, 5, 7}
B = {2, 5}
cd Documents/lab12
). Quando estiver dentro do diretório, rode o seguinte código:
gcc lab12.c lab12_main.c -o lab12
./lab12
Usando o testador, você só precisa colocar os dois arquivos (lab12.c e lab12_main.c) na mesma pasta, e usar o testador normalmente. :D