diff --git a/tp4/tp4 b/tp4/tp4
index 9d9ad0fca0d22b2b508e54470ba4c6ec6a2a4732..3368d0f7bc516f8fba91116e43a75ad81f92b3a1 100755
Binary files a/tp4/tp4 and b/tp4/tp4 differ
diff --git a/tp4/tp4.c b/tp4/tp4.c
index d7f510c2a98ab1543c4ce206cf79e620cb9fee3a..b4c89eec0ba719663aed05107abf46085439c8ce 100644
--- a/tp4/tp4.c
+++ b/tp4/tp4.c
@@ -55,14 +55,14 @@ conjunto_t *acha_solucao(conjunto_t **herois, conjunto_t *missao, conjunto_t **e
 	for (i = 0; i < tam_equipes; i++) {
 		uniao = copia_cjt(herois[equipes[i]->v[0] - 1]);
 		/* copia o conjunto de habilidades de heroi	correspondente ao primeiro elemento do conjunto equipe da posicao atual do vetor de equipes. ex: se a equipe atual é [5 6 7], copia o quinto conjunto de habilidades de heroi (de indice 4). */
-		for (j = 1; j < equipes[i]->card; j++) {
+		for (j = 1; j < cardinalidade_cjt(equipes[i]); j++) {
 			uniao_old = uniao;
 			uniao = uniao_cjt(uniao, herois[equipes[i]->v[j] - 1]);
 			uniao_old = destroi_cjt(uniao_old);
 		}
 			/* realiza a uniao de todos os conjuntos de habilidades de heroi referenciados no conjunto equipe da posicao atual do vetor de equipes. */
 		if (contido_cjt(missao, uniao)) {
-			if (vazio_cjt(menor) || equipes[i]->card < menor->card) {
+			if (vazio_cjt(menor) || cardinalidade_cjt(equipes[i]) < cardinalidade_cjt(menor)) {
 				menor = destroi_cjt(menor);
 				menor = copia_cjt(equipes[i]);
 			}