Exemple #1
0
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
}