Dados N números aleatorios de tres cifras ...


//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;
}

0 comments :

Publicar un comentario