Guião laboratorial n.º 0 – exercício 6

“Desenvolva uma função que calcule e devolva o desvio padrão de um conjunto de valores inteiros indicados pelo utilizador. A função recebe como argumento o número de valores a considerar. O desvio padrão de um conjunto de N valores (x1, x2, …, x) é calculado através da seguinte fórmula, em que X representa a média dos valores:”

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define TAM 10

float desvio_padrao(int v[TAM], int e){
float desviop=0;
float media=0,somatorio=0,aux=0;
int soma=0, i=0;

for(i=0; i<e; i++ ){
       soma=soma+v[i];
}

media=soma/e;

for(i=0; i<e; i++ ){
       somatorio=somatorio+((float)v[i]-media)*((float)v[i]-media);
}
aux=somatorio/e;
desviop=sqrt(aux);

return desviop;
}


int main ()
{
int vector[TAM];
int elementos,i;
printf("Quantos elementos tem o conjunto (max %d):", TAM);
scanf("%d",&elementos);
if(elementos<TAM){
        for(i=0; i<elementos;i++){
           printf("\nQual o numero do conjunto para a posicao %d: ", i);
           scanf("%d", &vector[i]);
        }

     printf("\a\no desvio padrao vem: %f", desvio_padrao(vector, elementos));
}else{
     printf("nao foi possivel calcular");

}


return 0;
}

Tags :