#include <stdio.h> // inclui biblioteca padrão de entradas e saidas
#include <stdlib.h> // inclui biblioteca padrão de C
#include <math.h> // inclui biblioteca de matematica para utilizar raiz quadrada e exponenciação
int MaiorValor (int *Num, int n) //função para encontrar maior valor
{ int i, aux=0;
for (i=0; i<n;i++){ //comando FOR faz a varredura em toda a memoria
if (Num[i]>Num[aux]) //testa os valores dois a dois para saber o maior
{
aux=i; // caso encontre um maior no teste IF altera a posição salva como maior
}
}
return aux; //retorna a posição do maior numero encontrado nos testes
}
float Media (float *Num, int n) //função para calcular a média
{ int i;
float aux=0;
for (i=0;i<n;i++) //comando FOR faz a varredura em toda a memoria
{
aux=aux+Num[i]; //faz a somatoria dos valos e salva na memoria auxiliar
}
aux=aux/n; //divide a somatoria pelo numero de elementos obtendo a média aritmetica
return aux; //retorna com o valor da média
}
float Variancia (float *Num, int n, float NumMedia) //função para calcular a variancia ((valor-média)^2)/n
{ int i;
float aux;
for (i=0;i<n;i++) //comando FOR faz a varredura em toda a memoria
{
aux=aux+(pow(Num[i]-NumMedia,2)); //faz a somatoria de (valor-média)^2 e salva na memoria auxiliar
}
aux=aux/n; //divide a somatoria pelo numero de elementos e encontra a variancia
return aux; //retorna com o valor da variancia
}
float DesvioPadrao (float NumVariancia) //função para calcular o desvio padrão
{
float aux;
aux = sqrt (NumVariancia); //calcula a raiz quadrada e salva na memoria auxiliar
return aux; //retorna com o valor do desvio padrão
}
int main(void) {
float Num[100], NumMedia, NumVariancia, NumDesvio;
int NumMaior, k, n;
printf("Digite o numero de elementos:\n");
scanf ("%d",&n); //lê o numeros de elementos que serão computados
printf("Digite os %d numeros aleatorios:\n", n);
for (k=0;k<n;k++) //comando FOR faz a varredura até escrever o numero de elementos especificados
{
scanf ("%f",&Num[k]); //lê os valores digitados e salva no vetor
}
NumMedia = Media (Num, n); //chama função Média e salva o resultado do retorno
printf("\nMédia: %.2f",NumMedia); //imprime na tela o resultado da função
NumMaior = MaiorValor (Num, n); //chama função MaiorValor e salva o resultado do retorno
printf("\nMaior: %.2f",Num[NumMaior]); //imprime na tela o numero gravado na posição indicada no resultado da função
NumVariancia = Variancia (Num, n, NumMedia); //chama função Variancia e salva o resultado do retorno
printf("\nVariancia: %.2f",NumVariancia); //imprime na tela o resultado da função
NumDesvio = DesvioPadrao (NumVariancia); //chama função DesvioPadrão e salva o resultado do retorno
printf("\nDesvio Padrão: %.2f",NumDesvio); //imprime na tela o resultado da função
return 0;
}