Adsence

jueves, 11 de agosto de 2011

Medidas-de-Tendencia-Central

Leave a Comment
[caption id="attachment_991" align="aligncenter" width="676"]Medidas de tendencia Central en C Medidas de tendencia Central en C[/caption]

Este programa se dedicara a agarrar los datos que se tiene y los ordena de menor a mayor, calcula  la media,mediana y moda, luego cuenta cuantas veces se repiten y se realiza el graficado (histograma).



[cpp]

#include <cstdlib>
#include <iostream>
#include <iomanip>
using namespace std;

void media(const int[],int);
void mediana(int [],int);
void moda(int[],int[],int);
void orden(int[],int);
void imprimir(const int[],int);
int main(int argc, char *argv[])
{
system("color 1f");
cout<<"--******----********------*---*----------*---------******----**----*------******";
cout<<"--*----*----*-------------*--*----------*-*--------*---*-----**----**-----*-----";
cout<<"--*----*----*-------------*-*----------*---*-------*--*------**----*-*----*-----";
cout<<"--*----*----********------**----------*-----*------*-*-------**----*--*---*-----";
cout<<"--*----*-----------*------**---------*********-----**--------**----*---*--*-----";
cout<<"--*----*-----------*------*-*-------*---------*----*-*-------**----*----*-*-----";
cout<<"--*----*-----------*------*--*-----*-----------*---*--*------**----*-----**-----";
cout<<"--******----********------*---*---*-------------*--*---*-----**----*------*-----";
const int num_pers=100;
int frecuencia[10]={0};
int respuestas[num_pers]=
{6,7,8,9,8,7,8,9,8,9,
7,8,9,5,9,8,7,8,7,8,
6,7,8,9,3,9,8,7,8,7,
7,8,9,8,9,8,9,7,8,9,
6,7,8,7,8,7,9,8,9,2,
7,8,9,8,9,8,9,7,5,3,
5,6,7,2,5,3,9,4,6,4,
7,8,9,6,8,7,8,9,7,8,
7,4,4,2,5,3,8,7,5,6,
4,5,6,1,6,5,7,8,7,1};
mediana(respuestas,num_pers);
media(respuestas,num_pers);
moda(frecuencia,respuestas,num_pers);

cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
void mediana(int resp[],int cantidad)
{
cout<<"\n\n\t<= = = = = REGISTRO ORIGINAL = = = = =>\n";

imprimir(resp,cantidad);
orden(resp,cantidad);
cout<<setw(8)<<"\n\n\t<= = = = = REGISTRO ORDENADO = = = = =>\n";
imprimir(resp,cantidad);

cout<<"\n\n**********\n MEDIANA\n**********\n\n";

cout<<"La mediana para este registro de "<<cantidad<<" elementos es "
<<resp[cantidad/2]<<"\n";

}
void media(const int resp[],int cantidad)
{
int total=0;
cout<<"\n**********\n MEDIA\n**********\n\n";
for(int c=0;c<cantidad;c++)
{
total=total+resp[c];
}
cout<<"La media es el valor promedio de los datos,\n";
cout<<"el cual es igual al total de todos los datos\n";
cout<<"divididos entre el numero de datos ("<<cantidad<<")";
cout<<"\nLa media para este registro de datos numericos es: \n";
cout<<total<<"/"<<cantidad<<"="<<setiosflags(ios::fixed|ios::showpoint)
<<setprecision(4)<<static_cast<float>(total)/cantidad<<"\n\n";
}
void moda(int freq[],int resp[],int cantidad)
{
int valorM=0,marca,aux=0;
cout<<"\n**********\n MODA\n**********\n";
for(marca=1;marca<=9;marca++)
{
freq[marca]=0;
}
for(int j=0;j<cantidad;j++)
{
freq[resp[j]]=freq[resp[j]]+1;
}
cout<<"RESPUESTA"<<"\t"<<"FRECUENCIA"<<"\t"<<"GRAFICO\n";

for(marca=1;marca<=9;marca++)
{
cout<<"\t"<<marca<<"\t"<<freq[marca]<<"\t\t";
if(freq[marca]>aux)
{
aux=freq[marca];
valorM=marca;
}
for(int c=1;c<=freq[marca];c++)
{
cout<<"*";
}
cout<<endl;
}
cout<<"\nEl valor que mas se repite [MODA] es "<<valorM<<" que ocurrio "<<aux<<" veces\a"<<endl;
}
void orden(int r[],int tam)
{
int aux;
for(int i=0;i<tam;i++)
{
for(int j=0;j<tam-1;j++)
{
if(r[j]>r[j+1])
{
aux=r[j];
r[j]=r[j+1];
r[j+1]=aux;
}
}
}
}
void imprimir(const int r[],int tam)
{
for(int j=0;j<tam;j++)
{
if(j%20==0)
{
cout<<endl;
}
cout<<setw(3)<<r[j];
}
}

[/cpp]

0 comentarios :