Skip to content

Instantly share code, notes, and snippets.

@kaldas
Created October 6, 2010 06:52
Show Gist options
  • Select an option

  • Save kaldas/612921 to your computer and use it in GitHub Desktop.

Select an option

Save kaldas/612921 to your computer and use it in GitHub Desktop.
/*******************************************
Processo e Desenvolvimento de Software
Aluno: _rcaldasmd_
gcc test1.c -o test1 -lm;./test1
(deve de casa.. nao vale nada.. nadinha msm)
*******************************************/
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
/* retorna media */
float mean(int buff[], int bfsize)
{
int cnt = 0, //contador de uso geral
adt = 0; //resultado da soma dos elementos
float mean = 0; //media dos elementos somados
for(cnt=0;cnt != bfsize;cnt++)
adt += buff[cnt];
return adt / cnt;
}
/* retorna desvio padrao */
double stdev(int buff[], int bfsize)
{
int cnt = 0; //contador
double aqr = 0; //resultado da soma dos elementos ao quadrado
for(cnt=0;cnt != bfsize;cnt++)
aqr += (buff[cnt] * buff[cnt]); //somamos os elementos ao quadrado
aqr = aqr / (bfsize - 1);
//retorna raiz quadrada da variação (desv padrao)
return sqrt(aqr);
}
/* exemplo de uso */
int main()
{
int *buff, bfsize = 0, cnt = 0;
fprintf(stdout,"\nDe quantos elementos deseja tirar a media e o desvio? ");
scanf("%i",&bfsize);
buff = (int *) calloc(bfsize, sizeof(int));
if(!buff || bfsize == 0)
{
fprintf(stderr,"erro de memoria ou entrada nula\n");
return -1;
}
for(cnt = 0; cnt != bfsize; cnt++)
{
printf(" \nEntre com a [%i] entrada.. : ",cnt + 1);
scanf("%i",buff+cnt);
}
fprintf(stdout," \nMean: %f | Standard Variation: %f \n",
mean(buff,bfsize),stdev(buff,bfsize));
free(buff);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment