Ejemplo n.º 1
0
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);
    }

}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
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;
}
Ejemplo n.º 5
0
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;
}
Ejemplo n.º 6
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);
}