AYUDAA con codigo para calcular moda
Publicado por MikeMJ (1 intervención) el 24/09/2017 20:01:11
Buenas tardes
Este es mi primer post, les comento que estoy estudiando diseño de software y la profesora nos dejo realizar un programa para calcular la media, varianza, desviación y moda. Todo corre bien pero el problema esta en la MODA no me sale el resultado correcto y no encuentro el error. Les agradecería me ayudaran, les anexo el código:
Este es mi primer post, les comento que estoy estudiando diseño de software y la profesora nos dejo realizar un programa para calcular la media, varianza, desviación y moda. Todo corre bien pero el problema esta en la MODA no me sale el resultado correcto y no encuentro el error. Les agradecería me ayudaran, les anexo el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <stdio.h>
#include <math.h>
/* ESte programa calcula la media, la varianza, la desviación estándar
y la moda de veinte datos ingresados por el usuario */
/*Se declaran las funciones para cada variable o funcion para
obtener los resultados deseados*/
const int MAX = 100;
void Lectura(int *, int);
float Media(int *, int);
float Varianza(int *, int, float);
float Desviacion(float);
void Frecuencia(int *, int, int *);
int Moda(int *, int);
int main(void)
{
/*Se declaran las variables a utilizar*/
int TAM=20, MOD, DAT[MAX], FRE[11] = {0};
float MED, VAR, DES;
do
{
printf( "\n**************************************************************************\n");
printf( "\n\t\t ***BIENVENIDO*** \n" );
printf( "\n**************************************************************************\n");
printf( "\n\ - Este programa ayuda a calcular las medidas de tendencia central: - \n" );
printf( "\n\ - Media aritmetica, Varianza, Desviacion estandar y Moda - \n" );
printf( "\n\ - de veinte datos ingresados por el usuario - \n" );
printf( "\n***************************************************************************\n\n");
}
while (TAM > MAX | TAM < 1);
/* Se verifica que el tamaño del arreglo sea correcto. */
Lectura(DAT, TAM);
MED = Media(DAT, TAM);
VAR = Varianza(DAT, TAM, MED);
DES = Desviacion(VAR);
Frecuencia(DAT, TAM, FRE);
MOD = Moda(FRE, 11);
printf( "\n--------------------------------------------------\n");
printf("\n Los resultados de los datos son: \n\n");
printf("\n La Media de los datos ingresados es: %.2f", MED);
printf("\n La Varianza de los datos ingresados es: %.2f", VAR);
printf("\n La Desviación de los datos ingresados es: %.2f", DES);
printf("\n La Moda de los datos ingresados es: %d", MOD);
printf( "\n--------------------------------------------------\n");
}
void Lectura(int A[], int T)
/* Con la funcion lectura leeremos los datios del arrglo */
{
int I;
for (I=0; I<T; I++)
{
printf(" Por favor ingrese el dato %d: ", I+1);
scanf("%d", &A[I]);
}
}
float Media(int A[], int T)
/* Funcion para calcular la media */
{
int I;
float SUM = 0.0;
for (I=0; I < T; I++)
SUM += A[I];
return (SUM / T);
}
float Varianza(int A[], int T, float M)
/* Funcion para calcular la varianza */
{
int I;
float SUM = 0.0;
for (I=0; I < T; I++)
SUM += pow ((A[I] - M), 2);
return (SUM / T);
}
float Desviacion(float V)
/* Funcion para calcular la desviación estándar */
{
return (sqrt(V));
}
void Frecuencia(int A[], int P, int B[])
/* Funcion para calcular la frecuencia */
{
int I;
for (I=0; I < P; I++)
B[A[I]]++;
}
int Moda(int A[], int T)
/* Funcion para calcular la moda. */
{
int I, MOD = 0, VAL = A[0];
for (I=1; I<T; I++)
if (MOD < A[I])
{
MOD = I;
VAL = A[I];
}
return (MOD);
}
Valora esta pregunta


0