redirecionarFluxo(int valor){ switch(valor){ case 1: popularVetor(); break; case 2: imprimirVetor(); break; case 3: insertionSort(); break; case 4: break; } }
/* ---------------- */ int main(){ int numElementos = 0, //Armazena o tamanho do vetor. opcao, //Armazena o a opção selecionada pelo usuário. vetor[MAX], numero; //Armazena o número digitado pelo usuário para contagem e busca. // variaveis para a rotina de maximo e minimo int maximo, minimo; // variaveis para a rotina de soma int somaPares, somaImpares, somaPositivos, somaNegativos; // variaveis para a rotina de estatistica float media, mediaHarmonica, mediana, desvioPadrao; // variaveis para a rotina de contagem int qtPares, qtImpares, qtPrimos, qtFibonacci; // variaveis para a rotina de busca por valor int totalOcorrencia, primeiraOcorrencia, ultimaOcorrencia; numElementos = tamanhoVetor(); popularVetor(vetor, numElementos); scanf("%d", &opcao); //Lê a opção selecionada pelo usuário. //Executa as opções enquanto o usuário não digitar a opção 0 - Sair. while(opcao != OPC_SAIR){ switch(opcao){ //---------------------------------------------------------- case OPC_IMPRIMIR: imprimirVetor(vetor, numElementos); break; //---------------------------------------------------------- //---------------------------------------------------------- case OPC_MAXMIN: calcularMaxMin(vetor, numElementos, &maximo, &minimo); printf("%d %d\n", maximo, minimo); break; //---------------------------------------------------------- //---------------------------------------------------------- case OPC_SOMA: calcularSomas(vetor, numElementos, &somaPares, &somaImpares, &somaPositivos, &somaNegativos); printf("%d %d %d %d\n", somaPares, somaImpares, somaPositivos, somaNegativos); break; //---------------------------------------------------------- //---------------------------------------------------------- case OPC_ESTATISTICA: // lembre-se de considerar apenas numeros maiores que zero na media harmonica // para o desvio padrao, considere o vetor como amostra e nao a populacao toda calcularEstatistica(vetor, numElementos, &media, &mediaHarmonica, &mediana, &desvioPadrao); printf("%.2f %.2f %.2f %.2f\n", media, mediaHarmonica, mediana, desvioPadrao); break; //---------------------------------------------------------- //---------------------------------------------------------- case OPC_BUSCARVALOR: scanf("%d",&numero); //le qual numero esta sendo buscado buscarValor(vetor, numElementos, numero, &totalOcorrencia, &primeiraOcorrencia, &ultimaOcorrencia); printf("%d %d %d\n", totalOcorrencia, primeiraOcorrencia, ultimaOcorrencia); break; //---------------------------------------------------------- //---------------------------------------------------------- case OPC_CONTAGEM: contarEspecial(vetor, numElementos, &qtPares, &qtImpares, &qtPrimos, &qtFibonacci); printf("%d %d %d %d\n", qtPares, qtImpares, qtPrimos, qtFibonacci); break; //---------------------------------------------------------- } scanf("%d", &opcao); } return 0; }