void ordenaVetor(int *vet, int esquerda, int direita) { int i, j, x, y; i = esquerda; j = direita; x = vet[(esquerda + direita) / 2]; while(i <= j) { while(vet[i] < x && i < direita) { i++; } while(vet[j] > x && j > esquerda) { j--; } if(i <= j) { y = vet[i]; vet[i] = vet[j]; vet[j] = y; i++; j--; } } if(j > esquerda) { ordenaVetor(vet, esquerda, j); } if(i < direita) { ordenaVetor(vet, i, direita); } }
int main(int argc, char *argv[]) { int tam, i; printf("Forneca o tamanho do vetor "); scanf("%d", &tam); int vet[tam], * par, * unico, maiorFrequencia; for (i=0;i<tam;i++){ printf("Forneca o valor da %d posicao ", i+1); scanf("%d", &vet[i]); } ordenaVetor(vet, 0, tam-1); par = closestPair(vet, tam); // exec 1 /*printf("\n"); for (i=0;i<2;i++){ printf("%d ",par[i]); }*/ unico = elementUniqueness(vet, tam); // exec 2 /*printf("\n"); for (i=0;i<tam;i++){ printf("%d ",unico[i]); }*/ maiorFrequencia = frequencyDistribution(vet, tam); //exec 3 //printf("%d",maiorFrequencia); system("PAUSE"); return 0; }
int main(){ int vetor[5]; int tamanho=5; preenche(vetor, tamanho); imprimeVetor(vetor,tamanho); ordenaVetor(vetor,tamanho); imprimeVetor(vetor,tamanho); return 0; }
int tipoLados(double *lado, int tam){ int i; short tipoTri; ordenaVetor(&lado[0], 3); if(lado[0] + lado[1] <= lado[2]) tipoTri = 0;//n forma triangulo else if(lado[0] == lado[1] || lado[1] == lado[2]){ if(lado[0] == lado[2]) tipoTri = 1;//triangulo equilatero else tipoTri = 2;//triangulo isosceles } else tipoTri = 3;//triangulo escaleno return tipoTri; }
int main(){ int lado[3]; scanf("%d %d %d", &lado[0], &lado[1], &lado[2]); ordenaVetor(lado, 3); switch(tipoLados(lado)){ case 0: printf("Invalido\n"); break; case 1: printf("Valido-Equilatero\n"); break; case 2: printf("Valido-Isoceles\n"); break; case 3: printf("Valido-Escaleno\n"); break; } if(!tipoLados(lado)); else if((lado[0]*lado[0]) + (lado[1]*lado[1]) == lado[2]*lado[2]) printf("Retangulo: S\n"); else printf("Retangulo: N\n"); return 0; }
void ex02() { int status ; int * vet ; int tamVet ; printf("Antes do fork\n") ; printf("Gera Vetor\n") ; vet = geraVetor(&tamVet, vet); printf("Exibe Vetor\n") ; exibeVetor(vet, tamVet) ; printf("Fork\n") ; if(fork() != 0) { // parent code waitpid(-1, &status, 0); printf("Pai Exibe\n") ; exibeVetor(vet, tamVet) ; } // fim do if else { // child code printf("Filho Exibe\n") ; exibeVetor(vet, tamVet) ; printf("Filho Ordena\n") ; ordenaVetor(vet, tamVet) ; printf("Filho Exibe\n") ; exibeVetor(vet, tamVet) ; } // fim do else } // fim do ex02
//Método Main - Entry Point do Programa int mainl10q02() { //Título do Programa e autor printf(" << UEFS - PGCA 2014.1 - Programa Bingo>>"); printf("\n\n ## Autor: Leonardo Melo\n\n"); int qtdNumApostados; do{ printf("\nInforme a quantidade de numeros a serem apostados (entre %d e %d): ", QTD_MIN_NUM_APOSTA, QTD_MAX_NUM_APOSTA); scanf("%d", &qtdNumApostados); fflush(stdin); if (validaQtdNumApostados(qtdNumApostados)) { break; } else { printf("\n\nQuantidade invalida.\nDigite um numero entre %d e %d.\n\n", QTD_MIN_NUM_APOSTA, QTD_MAX_NUM_APOSTA); } } while (true); int *numerosApostados = (int *)malloc(qtdNumApostados * sizeof(int)); trataMemoriaInsuficiente(numerosApostados); ler_aposta(numerosApostados, qtdNumApostados); int *numerosSorteados = (int *)malloc(QTD_NUM_SORTEADOS * sizeof(int)); trataMemoriaInsuficiente(numerosSorteados); printf("\n\nSorteando...\n\n"); sorteia_valores(numerosSorteados, QTD_NUM_SORTEADOS); int quantidadeAcertos; int *numerosAcertados = compara_aposta(numerosApostados, numerosSorteados, &quantidadeAcertos, qtdNumApostados, QTD_NUM_SORTEADOS); printf("\n\nRESULTADO\n"); printf("\nNumeros apostados:\n"); ordenaVetor(qtdNumApostados, numerosApostados); mostraVetor(numerosApostados, qtdNumApostados); printf("\n\nNumeros sorteados:\n"); ordenaVetor(QTD_NUM_SORTEADOS, numerosSorteados); mostraVetor(numerosSorteados, QTD_NUM_SORTEADOS); printf("\n\nQuantidade de acertos: %d\n", quantidadeAcertos); if (quantidadeAcertos > 0){ printf("\nNumeros acertados:\n"); ordenaVetor(quantidadeAcertos, numerosAcertados); mostraVetor(numerosAcertados, quantidadeAcertos); } free(numerosApostados); free(numerosSorteados); free(numerosAcertados); //Pula duas linhas e Pausa a Tela (Utilizando comandos DOS) printf("\n\n\n"); system("pause"); //Retorno do método main return(EXIT_SUCCESS); }