elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Medidas de Dispersión. Error
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Medidas de Dispersión. Error  (Leído 2,018 veces)
Sword9K

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Medidas de Dispersión. Error
« en: 11 Octubre 2018, 22:44 pm »

ya corregí algunas cosas en el arreglo para pedir los valores, pero no se que es lo que podría estar mal en la desviación por la frecuencia.

Código:
#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;

int main(int argc, char** argv) {
    
    ddouble  numeros[500], numeros2[500], numeros3[500], n;
                                double  fre=0, coef=0, des=0, varia=0, suma=0, media=0, suma2=0;
                               
                               
                                cout <<"\nDigite el Numero de Datos:";
                                cin>>n;
                               
                                for(int i=0, j=0, k=0;i<n && j<n && k<n;i++ && j++ && k++){     
                                               
                                               cout <<"\n-Digite el numero: ";
                                               cin>>numeros[i];
                                               cout <<"\n-Digite la Frecuencia del Dato: ";
                                               cin>>numeros2[j];
                                               
                                               fre = fre + numeros2[j];
                                               
                                               numeros3[k] = numeros[i] * numeros2[j] ;
                                               //cout <<"\n X.F:"<<numeros3[k];
                                               suma = suma + numeros3[k];
                                }
                                media = suma / fre;
                                cout<<"\n Promedio:"<<media;
                               
                                for(int i=0;i<n;i++){
                                        numeros[i]= numeros[i] - media;
                                        numeros[i]= pow(numeros[i],2);
                                        cout<<"\nDesviacion al cuadrado: "<<numeros[i];
                                }
                               
                                for(int i=0, j=0;i<n && j<n;i++ && j++){
                                       numeros2[j] = numeros2[j] * numeros[i];
                                       cout<<"\nDesviacion por la Frecuencia: "<<numeros2[j];
                                       suma2 = suma2 + numeros2[j];
                                }
                               
                                varia = suma / fre;
                                cout<<"\nLa Varianza es: "<<varia;
                               
                                des = sqrt(varia);
                                cout<<"\nLa Desviacion Estandar es: "<<varia;
                               
                                coef = (des*100)/media;
                                cout<<"\nCoeficiente de Variacion: "<<coef;
getch();
return 0;
}


« Última modificación: 12 Octubre 2018, 05:04 am por Sword9K » En línea

dariodr01

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Medidas de Dispersión. Error
« Respuesta #1 en: 12 Octubre 2018, 06:15 am »

Hola, no entiendo muy bien tu codigo. Cual es el enunciado del problema.
Salu2.


En línea

Sword9K

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Medidas de Dispersión. Error
« Respuesta #2 en: 12 Octubre 2018, 15:35 pm »

Es crear un programa que realice las medidas de dispersión en datos agrupados, pero como este utiliza dos arreglos, uno para los datos y luego otro para la frecuencia de cada uno. de estos toca sacar el promedio, desviación al cuadrado, de esa desviación multiplicarla por la frecuencia etc. el programa creo que esta bien, pero no se que pasa en la desviación al cuadrado que creo que los datos salen mal
En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.156



Ver Perfil
Re: Medidas de Dispersión. Error
« Respuesta #3 en: 12 Octubre 2018, 15:38 pm »

Saludos,

- Tienes algo de redundancia de variables, además de que algunas variables no tienen el nombre apropiado.

- Se trata de Estadística Descriptiva > Medidas de dispersión en datos simples

- He hecho algunos parches para que funciones bien, revísalos para ver si cumple con tu ejercicio, yo lo he probado con la tabla que adjunto aquí:

-- Tabla (utilizo otro método para el cálculo, pero da el mismo resultado, solo concéntrate en xi, fi, y los resultados finales, el código utiliza tu propio método):



-- Código corregido:

Código
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. int main(int argc, char** argv) {
  8.  
  9.  double  numeros[500], numeros2[500], numeros3[500], n;
  10.  double  fre = 0, coef = 0, des = 0, varia = 0, suma = 0, media = 0, suma2 = 0;
  11.  
  12.  
  13.  cout << "\nDigite el Numero de Filas de la Tabla:";
  14.  cin >> n;
  15.  
  16.  for (int i = 0; i < n; i++) {
  17.  
  18.    cout << "\n- Digite el numero: ";
  19.    cin >> numeros[i];  // xi
  20.    cout << "\n- Digite la Frecuencia del Dato: ";
  21.    cin >> numeros2[i]; // fi
  22.  
  23.    fre = fre + numeros2[i]; // SUM(fi) o número de datos (n)
  24.  
  25.    numeros3[i] = numeros[i] * numeros2[i] ; // xi*fi
  26.    //cout <<"\n X.F:"<<numeros3[i];
  27.    suma = suma + numeros3[i]; //SUM(xi*fi)
  28.  }
  29.  
  30.  media = suma / fre;
  31.  cout << "\n Promedio:" << media;
  32.  
  33.  for (int i = 0; i < n; i++) {
  34.    numeros[i] = fabs(numeros[i] - media); // |xi - media|
  35.    numeros[i] = pow(numeros[i], 2); // |xi - media|^2
  36.    cout << "\nDesviacion al cuadrado: " << numeros[i];
  37.  }
  38.  
  39.  for (int i = 0; i < n; i++) {
  40.    numeros2[i] = numeros2[i] * numeros[i]; // (|xi - media|^2)*fi
  41.    cout << "\nDesviacion por la Frecuencia: " << numeros2[i];
  42.    suma2 = suma2 + numeros2[i]; // SUM( (|xi - media|^2)*fi )
  43.  }
  44.  
  45.  varia = suma2 / fre; // free es el número de datos n (SUM(Xi*fi))
  46.  cout << "\nLa Varianza es: " << varia;
  47.  
  48.  des = sqrt(varia); // Desviación Típica o Estándar
  49.  cout << "\nLa Desviacion Estandar es: " << varia;
  50.  
  51.  coef = (des * 100) / media; // Coeficiente de variación en %
  52.  cout << "\nCoeficiente de Variacion: " << coef;
  53.  getch();
  54.  return 0;
  55. }


-- Resultados

Código:
Digite el Numero de Filas de la Tabla:11

- Digite el numero: 0

- Digite la Frecuencia del Dato: 1

- Digite el numero: 1

- Digite la Frecuencia del Dato: 1

- Digite el numero: 2

- Digite la Frecuencia del Dato: 2

- Digite el numero: 3

- Digite la Frecuencia del Dato: 0

- Digite el numero: 4

- Digite la Frecuencia del Dato: 3

- Digite el numero: 5

- Digite la Frecuencia del Dato: 3

- Digite el numero: 6

- Digite la Frecuencia del Dato: 4

- Digite el numero: 7

- Digite la Frecuencia del Dato: 1

- Digite el numero: 8

- Digite la Frecuencia del Dato: 2

- Digite el numero: 9

- Digite la Frecuencia del Dato: 2

- Digite el numero: 10

- Digite la Frecuencia del Dato: 1

 Promedio:5.35
Desviacion al cuadrado: 28.6225
Desviacion al cuadrado: 18.9225
Desviacion al cuadrado: 11.2225
Desviacion al cuadrado: 5.5225
Desviacion al cuadrado: 1.8225
Desviacion al cuadrado: 0.1225
Desviacion al cuadrado: 0.4225
Desviacion al cuadrado: 2.7225
Desviacion al cuadrado: 7.0225
Desviacion al cuadrado: 13.3225
Desviacion al cuadrado: 21.6225
Desviacion por la Frecuencia: 28.6225
Desviacion por la Frecuencia: 18.9225
Desviacion por la Frecuencia: 22.445
Desviacion por la Frecuencia: 0
Desviacion por la Frecuencia: 5.4675
Desviacion por la Frecuencia: 0.3675
Desviacion por la Frecuencia: 1.69
Desviacion por la Frecuencia: 2.7225
Desviacion por la Frecuencia: 14.045
Desviacion por la Frecuencia: 26.645
Desviacion por la Frecuencia: 21.6225
La Varianza es: 7.1275
La Desviacion Estandar es: 7.1275
Coeficiente de Variacion: 49.9016
En línea

Sword9K

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Medidas de Dispersión. Error
« Respuesta #4 en: 12 Octubre 2018, 17:34 pm »

:0, Esta Perfecto me siento pendejo pero bn. mi error era que utilizaba una variable int para cada arreglo. Muchas Gracias por ayudarme, es increíble. ;D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Medidas Template
Diseño Gráfico
White^^croW 3 2,031 Último mensaje 14 Abril 2005, 17:11 pm
por White^^croW
Problemas con las medidas de un formulario
Programación Visual Basic
angiz18 3 1,536 Último mensaje 1 Diciembre 2008, 16:03 pm
por XcryptOR
Las malnets recurren a la dispersión geográfica para seguir en activo
Noticias
wolfbcn 0 1,190 Último mensaje 12 Marzo 2013, 21:08 pm
por wolfbcn
¿Mayor dispersión en excel?
Programación General
Ikku 0 1,482 Último mensaje 25 Septiembre 2014, 23:03 pm
por Ikku
Ayuda en Programa basico sobre Medidas de Dispersion
Programación C/C++
Sword9K 3 1,767 Último mensaje 2 Septiembre 2018, 17:58 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines