Hola, tengo un problemon con un programa de c++, os cuento..
el enunciado del ejercicio es: tenemos 4 grupos i en total meteremos 10 valores, pero no sabemos cuantos valores pro cada grupo, solo que el total seran 10.
A partir de esos 10 valores, hemos de hacer la media x grupos i contar el numero de veces que hemos introducido un valor por cada grupo, i mas operaciones pero que eso es lo de menos, ya que supongo que arreglando como buscar la media i como encontrar el numero de veces que hemos introducido un valor, podré arreglarlo.
Para hacer el programa me sirvo de dos matrices, una de 2 filas i 10 columnas, en la que guardare los datos entrado (numero de grupo i el valor de cada grupo) i otra de 4x 6 en la que guardare en orden GUPO1 GRUPO2 GRUPO3 GRUPO4 i en las siguientes columnas el valor d la mediana, el numero de veces que he introduciod un valor etc.
espero que me podais ayudarr!!!!!!! muxas gracias de antemano
Aqui os dejo mi programa, que no calcula bien las cosas, agradeceria que me indicarais los errores.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main()
{
float grup_norm[10][2];
float taula[4][6];
int i;
int j;
int compt;
// Lectura de dades
for (i=0;i<10;i++)
{
printf("Entra grup: ");
scanf("%f",&grup_norm[i][0]);
printf("Entra normalitzacio %d: ",i+1);
scanf("%f",&grup_norm[i][1]);
}
// Càlcul de resultats
for (i=0;i<4;i++)
{
//càlcul de la media
compt=0;
taula[i][0]=0;
for (j=0;j<10;j++)
{
if (grup_norm[0][j]==i+1)
{
taula[i][0]=taula[i][0]+grup_norm[j][1];
compt=compt+1;
}
}
if (compt!=0)
{
taula[i][0]=taula[i][0]/compt;
}
// calculo del numero de veces
taula[i][1]=compt;
// càlcul de la variança
taula[i][2]=0;
compt=0;
for (j=0;j<10;j++)
{
if (grup_norm[j][0]==i+1)
{
taula[i][2]=taula[i][2]+(grup_norm[j][1]-taula[i][0])*(grup_norm[j][1]-taula[i][0]);
compt=compt+1;
}
}
if (compt!=0)
{
taula[i][2]=(1/(float)compt)*taula[i][2];
}
//càlcul de la desviació estàndard
taula[i][3]=sqrt(taula[i][2]);
//càlcul coeficient de variació
taula[i][4]=taula[i][3]/taula[i][0];
// càlcul dispersió
taula[i][5]=0;
for (j=0;j<10;j++)
{
if(grup_norm[j][0]==i+1)
{
taula[i][5]=taula[i][5]+(grup_norm[j][1]-taula[i][0]);
}
}
}
//presentació de resultats
printf("GRUP\tMITJANA\tVEGADES\tVARIANCA DESVIACIO C.VARIACIO DISPERSIO\n");
for (i=0;i<4;i++)
{
printf("%d\t%.4f\t%d\t%.4f\t\t%.4f\t%.4f\t%.4f\n", i+1,taula[i][0],(int)taula[i][1],taula[i][2],taula[i][3],taula[i][4],taula[i][5]);
}
system("pause");
}