Hacia tiempo no venia por aqui, estaba ocupado con estudios y trabajo, pero vamos a ver que sale.
Mira, no escribas en mayúsculas, es algo muy incomodo, molesto e irritante, es feo, es como andar gritando a todas horas.
Aquí estamos para ayudarte, entendemos tus problemas, todos hemos pasado por lo mismo:
Mira, tienes varios problemas, uno de ellos como mencionaron anteriormente, es que no usas indices en el vector (yo lo denomino arreglo o simplemente
array por cuestiones tecnicas, pues un
vector en programación es algo diferente). Un indice se utiliza para referenciar la posición que se esta utilizando en el momento de utilizar ese arreglo.
Una cosa muy importante es que si realizas operaciones entre variables flotantes y enteras te daran errores de cálculo, valores incorrectos, dependiendo en que variable se guarden, se asignara un espacio de memoria diferente que solo podra albergar una determinada cantidad de información, lo que necesitas entender es que no resultara correcto una operación
int -
float, para este ejercicio, como es importante las decimas, pues dejalo todo a float, y es más, si quieres más precisión, usa
doubleAquí en el foro hay unas etiquetas para poner codigo, se pueden usar diferentes identificadores para otros lenguajes de programación
Por lo demás, mira, te ayudare:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define TAM 10
int main()
{
int i;
float v[TAM];
float prom=0.0, suma=0.0, var=0.0, d_est=0.0;
//srand(time(0)); solo trabaja con enteros int, y al usar time(0) no aleatoriedad
srand48
(time(NULL
)); // numeros aleatorios con aleatoriedad relativa al reloj del procesador
for(i=0; i<TAM; i++)
{
v[i] = drand48() * 100; // se usa esta funciona para generar numeros randomicos coma flotante
// separa adecuadamente los espacios para entender el código
// me gusta dejarlo en el rango de 0 a 99
// nuevamente, hay que indicar la posición del indice
printf("\n Valor Vector/Array [%d] = %.2f", i
, v
[i
]);
suma = suma + v[i]; // El vector/array con el indice
prom = suma / TAM; // suma de los elementos dividido por el numero de elementos, facil.
// Varianza Es la media de las diferencias con la media elevadas al cuadrado
// Consulta http://www.disfrutalasmatematicas.com/datos/desviacion-estandar.html
// Para más información
// sumando cada varianza de cada indice con respecto a la media
var
= var
+ pow( (v
[i
]-prom
), 2 ); // funciona tambien con
// var += pow ( (v[i] - prom ), 2);
}
// ya fuera del ciclo con todos los elementos sumados, calculamos la relacion con el total de elementos
var = var / 10.0;
// La desviación estandar es simplemente la raiz cuadrada de la varianza
float aux = v[0] - prom;
float prueba
= pow ( (v
[0]-prom
), 2);
printf("\n\n\n *SUMA = %.2f\n", suma
); printf("\n *PROMEDIO = %.2f\n", prom
); printf("\n *VARIANZA = %.2f\n", var
); printf("\n *DESVIACION ESTANDAR = %.2f\n", d_est
);
// Valores de prueba
/*printf("\n *posicion prueba v[0] = %.2f\n", v[0]);
printf("\n *promedio prueba = %.2f\n", prom);
printf("\n *diferencia prueba = %.2f\n", aux);
printf("\n *prueba = %.2f\n", prueba);*/
getchar(); // horrible ese system, solo funciona en windows y provoca conflictos en el sistema, bueno, a veces... return 0;
}
Fue un buen experimento, una buena practica, el cerebro hay que estimularlo, ejercitarlo, alimentarlo y enriquecerlo con esta clase de ejercicios XD
suerte amigo que te rinda
PD: Se que faltan tildes, pero es que la etiqueta del foro no me deja colocarlas...
[/code]