Esempio n. 1
0
    void tests(){
        cerr << "#open diferenca PRATA FOR IF" << endl;

        cerr << (diferenca({1, 3, 9, 7, 8}, {2, 9, 10}) == vector<int>({1, 3, 7, 8}));
        cerr << (diferenca({1, 2, 3, 4}, {4, 1}) == vector<int>({2, 3}));
        cerr << (diferenca({1, 3, 4}, {4, 1, 2}) == vector<int>({3}));
    }
Esempio n. 2
0
int main(){
	int opt;
	printf("Digite um número para escolher alguma opção abaixo\n"
	       "\t1\tSoma de 2 números.\n"
	       "\t2\tDiferença entre 2 números ( maior pelo menor ).\n"
	       "\t3\tProduto entre 2 números.\n"
	       "\t4\tDivisão entre 2 números (o denominador não pode ser zero).\n"
	       ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ");
	scanf("%d", &opt);

	switch (opt){
		case 1:
			soma();
			break;
		case 2:
			diferenca();
			break;
		case 3:
			produto();
			break;
		case 4:
			divisao();
			break;
	
	}

	return 0;
}
Esempio n. 3
0
QTime Funcoes::DiferencaEntreHoras(QTime hora1, QTime hora2)
{
    QTime diferenca(0, 0, 0);

    if( hora1 < hora2 )
        diferenca = diferenca.addSecs( hora1.secsTo( hora2 ) );

    return diferenca;
}
Esempio n. 4
0
//------------Classe Principal-------------
int main(){
    int menu, dado, i;
    listaconjunto *head = NULL, *tail, *conjuntoatual;
    /*
    Ponteiro do tipo listaconjunto para armazenarem:
    head - Primeiro conjunto criado. Indica conjunto inicio da fila;
    tail - Ultimo conjunto criado. Indica conjunto no final da fila;
    conjuntoatual - Manipulação;
    */

    do{
        printf("\nTrabalho_NP1\n\n1 - Adicionar Conjunto..\n2 - Excluir Conjunto..\n3 - Alterar conjunto..\n");
        printf("4 - Exibir Intersecção..\n5 - Exibir União..\n6 - Exibir Diferença\n0 - Sair\n");
        scanf("%d", &menu);
        printf("\033[H\033[J"); //Limpar Tela no Linux
        //system("cls");// Limpar tela no Windows

        switch (menu) {
            case 1: // Adicionar Conjunto
                if(head == NULL){ // Não há conjuntos criado;
                    conjuntoatual = adicionarconjunto(head);
                    head = conjuntoatual;
                    tail = head;

                    printf("\nPrimeiro conjunto criado!\n");
                    printf("Indice: %d\n", conjuntoatual->indice);

                }
                else{ // Um ou mais conjuntos criado;
                    conjuntoatual = adicionarconjunto(head);
                    tail = conjuntoatual;

                    printf("\nConjunto criado!\n");
                    printf("Indice: %d\n", conjuntoatual->indice);
                }
                break;

            case 2: // Excluir Conjunto
                if(head == NULL){
                    printf("Não existem conjuntos criados!\n");
                    break;
                }
                printf("\nQual conjunto deseja excluir?\n");

                for(i = 0; i <= tail->indice; i++){ // Loop para imprimir todos os conjuntos existentes
                    conjuntoatual = buscarconjunto(head, i);// Torna o conjuntoatual o de indice i;
                    if(conjuntoatual != NULL){
                      imprimirconjunto(conjuntoatual);//imprime conjuntoatual;
                    }
                }
                scanf("%d", &dado);

                conjuntoatual = buscarconjunto(head, dado); //Busca através dos índices qual o conjunto a ser excluido

                if(conjuntoatual == NULL){ // Verifica se o conjunto foi encontrado, se sim sai do case
                    printf("Conjunto não encontrado!\n");
                    break;
                }
                else{// se não, encontra qual o caso do ponterio e libera o espaço alocado para o conjunto selecionado
                    if(conjuntoatual->prox == NULL && conjuntoatual->ante == NULL){//Exclusão conjunto único
                        conjuntoatual = exclusaoconjunto(conjuntoatual);
                        head = NULL;
                        tail = head;
                        printf("1 - Exclusão feita com sucesso!\n");
                    }
                    else if(conjuntoatual->prox == NULL){//Exclusão ultimo conjunto
                        conjuntoatual = exclusaoconjunto(conjuntoatual);
                        tail = conjuntoatual;
                        printf("Ultimo conjunto excluido com sucesso!\n");
                    }
                    else if(conjuntoatual->ante == NULL){//Exclusão primeiro conjunto;
                         conjuntoatual = exclusaoconjunto(conjuntoatual);
                         head = conjuntoatual;
                         printf("Primeiro conjunto excluido com sucesso!\n");
                    }
                    else{//Exclusão conjunto qualquer
                         conjuntoatual = exclusaoconjunto(conjuntoatual);
                         printf("0 - Exclusão feita com sucesso!\n");
                    }
                }
                dado = 1;
                getchar();getchar();
                printf("\033[H\033[J");
                break;

            case 3:// Alterar conjunto
                for(i = 0; i <= tail->indice; i++){ // Loop para imprimir todos os conjuntos existentes
                    conjuntoatual = buscarconjunto(head, i);// Torna o conjuntoatual o de indice i;
                    if(conjuntoatual != NULL){
                      imprimirconjunto(conjuntoatual);//imprime conjuntoatual;
                    }
                }
                printf("\nQual conjunto deseja editar?\n");
                scanf("%d", &dado);

                conjuntoatual = buscarconjunto(head, dado);//Busca através dos índices qual o conjunto a ser editado
                if(conjuntoatual == NULL){ // Verifica se o conjunto foi encontrado
                    printf("Conjunto não encontrado\n");
                    break;
                }
                else{ // Permite a edição do conjunto com as opções incluir ou excluir elementos
                    do{
                        getchar(); getchar();
                        printf("\033[H\033[J");
                        printf("Edição do conjunto %d\n", conjuntoatual->indice);
                        printf("\n1- Incluir  2 - Excluir 0 - Parar edição\n");
                        scanf("%d", &dado);
                        switch(dado){
                            case 1:
                                imprimirconjunto(conjuntoatual);
                                printf("Novo dado: ");
                                scanf("%d", &dado);

                                dado = insercaoconjunto(conjuntoatual, dado);
                                if(dado == 0){
                                    printf("Elemento já existe no conjunto!\n");
                                }
                                dado = 1;
                                break;
                            case 2:
                                imprimirconjunto(conjuntoatual);
                                printf("Dado a remover: ");
                                scanf("%d", &dado);

                                dado = remocacoconjunto(conjuntoatual, dado);
                                if(dado == 0){
                                    printf("Elemento não existe no conjunto!\n");
                                }
                                dado = 1;
                                break;
                            case 0:
                                break;
                            default:
                                printf("Opcao invalida\n");
                                break;
                        }
                    }while(dado != 0);
                }
                break;
            case 4:
                if(head == NULL){
                    printf("Não existem conjuntos criados!\n");
                    break;
                }
                else if(interseccao(head) == 0){
                    printf("Existe apenas um conjunto criado!\n");
                }
                break;
            case 5:
                if(head == NULL){
                    printf("Não existem conjuntos criados!\n");
                    break;
                }
                else if(uniao(head) == 0){
                    printf("Existe apenas um conjunto criado!\n");
                }
                break;
            case 6:
                if(head == NULL){
                    printf("Não existem conjuntos criados!\n");
                    break;
                }
                else if(diferenca(head) == 0){
                    printf("Existe apenas um conjunto criado!\n");
                }
                break;

        }
    }while(menu != 0);

}
Esempio n. 5
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;
        }

    }

}