int main(int argc, char **argv) { no *n; lista *l; lista *l2; lista *l3; int i,k; l = criaLista(); l2 = criaLista(); l3 = criaLista(); for(i = 1 ; i < 5 ; i++){ n = criaNo(i); insereFim(l,n); } for(i = 2 ; i < 6 ; i++){ n = criaNo(i); insereFim(l2,n); } printf("\n **lista ** \n"); imprimeLista(l); printf("\n **lista 2** \n"); imprimeLista(l2); printf("\n **uniao ** \n"); uniao(l,l2,l3); imprimeLista(l3); liberaLista(l3); l3 = criaLista(); printf("\n **intersecao ** \n"); intersecao(l,l2,l3); imprimeLista(l3); k = pertence(l,l2); printf("\n \n 0 - NAO \n 1 - SIM \n"); printf("pertence: %d \n",k); liberaLista(l); liberaLista(l2); liberaLista(l3); return 0; }
int main() { struct conjunto* C[10]; int i; for( i = 0; i < 10; ++i ) C[i] = criar_conjunto(); //cria os 10 conjuntos vazios //ou: //C[i] = NULL for( i = 0; i < 10; ++i ) inicia_lista(C[i]); conjunto* c; char op; int c1,c2,c3; while( 1 ) { scanf("%c", &op); switch( op ) { case 'A': scanf("%d %d", &c1, &c2); inserir_elemento(C[c1-1],c2); break; case 'R': scanf("%d %d", &c1, &c2); remover_elemento(C[c1-1],c2); break; case 'L': scanf("%d", &c1); listar_elementos(C[c1-1]); break; case 'F': scanf("%d", &c1); deletar_conjunto(C[c1-1]); C[c1-1] = criar_conjunto(); inicia_lista(C[c1-1]); break; case 'I': scanf("%d %d %d", &c1, &c2, &c3); c = intersecao(C[c1-1],C[c2-1]); deletar_conjunto(C[c3-1]); C[c3-1] = c; break; case 'U': scanf("%d %d %d", &c1, &c2, &c3); c = uniao(C[c1-1],C[c2-1]); deletar_conjunto(C[c3-1]); C[c3-1] = c; break; case 'P': scanf("%d %d", &c1, &c2); if(pertinencia(C[c1-1],c2)) printf("S\n"); else printf("N\n"); break; case 'D': scanf("%d %d %d", &c1, &c2, &c3); c = diferenca(C[c1-1],C[c2-1]); deletar_conjunto(C[c3-1]); C[c3-1] = c; break; case 'C': scanf("%d %d", &c1, &c2); if(subconjunto(C[c1-1],C[c2-1])) printf("S\n"); else printf("N\n"); break; case '=': scanf("%d %d", &c1, &c2); if(igualdade(C[c1-1],C[c2-1])) printf("S\n"); else printf("N\n"); break; case '#': scanf("%d", &c1 ); printf("%d\n", cardinalidade( C[c1-1]) ); break; case 'X': for( i = 0; i < 10; ++i ) deletar_conjunto(C[i]); bapply(bprint); //não modifique esta linha return 0; } } }