void ordenarP() { int escolha; do { system("cls"); printf("\nMenu Ordenar por preço\n"); printf("\nEscolha o menu que pretende abrir.\n"); printf("1. Crescente\n"); printf("2. Decrescente\n"); printf("0. Sair\n"); printf("\nOpção: "); scanf("%d", &escolha); switch (escolha) { case 0: break; case 1: ordenarCrescente(1); break; case 2: ordenarDecrescente(1); break; default: printf("Insira um número de 0 a 3.\n"); break; } } while (escolha != 0); }
// listar(): lista todos os registros em ordem crescente de RA void listar (aluno Alunos[], int qtAlunos){ int i=0; ordenarCrescente(Alunos,qtAlunos); for (i=0; i<qtAlunos; i++){ printf("%06d - ",Alunos[i].ra); printf("%s - ",Alunos[i].nome); printf("%02d/%02d/%04d - ",Alunos[i].dataIngresso.dia, Alunos[i].dataIngresso.mes, Alunos[i].dataIngresso.ano); printf("%04d\n",Alunos[i].creditos); } }
float calcularEstatistica(int vet[], int numElementos, float *media, float *mediaHarmonica, float *mediana, float *desvioPadrao) { int i,vetorordenado[MAX]; float m1, m2, mediageral = 0, mh = 0, aux = 0, zero = 0, positivos = 0, um = 1; *media = zero; *mediaHarmonica = zero; *mediana = zero; *desvioPadrao = zero; //media e media harmonica for(i=0;i<numElementos;i++) { //media *media = *media + vet[i]; //media harmonica if (vet[i] > 0)//apenas numeros positivos { mh = mh + (um/vet[i]); positivos++; } } *media = *media/numElementos; *mediaHarmonica = positivos/ mh; //desvio padrão for (i=0;i<numElementos;i++) { aux = pow((vet[i]-*media),2) + aux; } *desvioPadrao = sqrt((aux/(numElementos-1))); //mediana ordenarCrescente (vet, numElementos, vetorordenado); // Ordenando conjunto numerico. switch (numElementos % 2) { case 0: // Faixa de valores (qtd de elem do vetor) e PAR. m1 = vetorordenado[numElementos / 2 - 1]; m2 = vetorordenado[numElementos / 2]; m1 = (m1 + m2)/2; break; case 1: // Faixa de valores do vetor e IMPAR. m1 = vetorordenado[ (numElementos - 1) / 2 ]; break; } *mediana = m1; //*mediana = m1; //*desvioPadrao }