Dados N números aleatorios de tres cifras ...
Publicado por
el
//Dados N números aleatorios de tres cifras, determinar:
//a. La suma
//b. La media
//c. La moda
//d. La mediana
//e. La desviación estandar
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
//Ayuda a generar número randómicos más eficientemente
int rdtsc()
{
__asm__ __volatile__("rdtsc");
}
main ()
{
int n, c=0,k=1;
//Mostrar tildes y acentos del español
setlocale(LC_CTYPE, "Spanish");
int v[100];
float promedio, sumatoria, desviacion;
double mediana;
cout <<"Este programa calcula promedio, mediana, desviación estandar de números generados al azar"<<endl;
cout << "Numeros elemento: ";
cin >> n;
cout<<endl;
for(int i=1;i<=n;i++){
srand(rdtsc());
v[i]= rand()*time(0)%1000;
}
cout << "El vector es: "<< endl;
cout<<endl;
for(int j=1;j<=n;j++){
cout << v[j]<< endl;
}
for(int j=1;j<=n;j++){
c+=v[j];
}
cout<< endl << "La suma "<< c <<endl;
promedio= (float)c/n;
cout<< endl << "El promedio "<< promedio <<endl;
cout<<endl;
int Temp;
for(int i=1;i<=n;i++){
for(int j=1;j<=n-1;j++){
if(v[j]<v[j+1]){// cambia "<" a ">" para cambiar la manera de ordenar
Temp=v[j];
v[j]=v[j+1];
v[j+1]=Temp;
}
}
}
cout << "El vector ordenado es: "<< endl;
cout<<endl;
for(int j=1;j<=n;j++){
cout << v[j]<< endl;
}
if(n%2==0){
mediana=(double)((v[n/2]+v[n/2+1])/2);
}else{
int mitad=n/2+1;
mediana=(double)v[mitad];
}
cout<<endl;
cout << "La mediana es: "<<mediana<<endl<<endl;
for(int j=1;j<=n;j++){
sumatoria+=pow((v[j]-promedio),2);
}
desviacion=sqrt(sumatoria/(n-1));
cout << "La desviacion estandar es: "<<desviacion<<endl<<endl;
system ("pause");
return 0;
}
Comentarios
Publicar un comentario