cálculo de la varianza lenguaje C

Por favor preparar función ReadDat () para lograr leer 1000 entero decimal de archivo IN.DAT en una matriz en xx:

Por favor, prepare la función Calcular () se calcula, respectivamente, en un número par de xx incluso, el valor promedio Ave1 impar, número par y el valor ave2 promedio de totfc varianza, después de la WriteDat llamada de función () OUT.DAT envía el resultado a un archivo.

El cálculo de la varianza de la siguiente fórmula:

N_____2

totfc = 1 / NΣ (xx [i] -ave2)

i = 1 siempre que n es un número par de, xx [i] es un número par, ave2 un valor promedio incluso.

El formato de los archivos de datos originales: cada línea de almacenamiento de número 10, y separados por comas. (Cada número mayor que 0 y menor que o igual a 2,000).
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAX 1000

int xx [MAX], impar = 0, incluso = 0;

doble Ave1 = 0,0, ave2 = 0,0, totfc = 0,0;

void WriteDat (void);

int ReadDat (void) {int i; FILE * fp;

if ((fp = fopen ( “IN.DAT”, “r”)) == NULL) volver 1;

/ Función Compilado ReadDat () de la sección *** /

for (i = 0; i <MAX; i ++)

{Fscanf (fp, "% d", y xx [i]);

if ((i + 1)% 10 == 0)

fscanf (fp, "\ n"); }

/ ******************************************* /

fclose (fp);

return 0;

}

Calcular vacío (vacío)

{Int i, aa [MAX];

for (i = 0; i <MAX; i ++)

yy [i] = 0;

for (i = 0;

i <MAX; i ++)

si (xx [i]% 2 == 0) {yy [incluso ++] = xx [i]; ave2 + = xx [i];}

else {++ extraña; Ave1 + = xx [i];}

si (impar == 0) Ave1 = 0;

más Ave1 / = impar;

si (incluso == 0) ave2 = 0;

más ave2 / = incluso;

for (i = 0; i <incluso; i ++)

totfc + = (yy [i] -ave2) * (yy [i] -ave2) / impar;

}

vacío principal()

{

int i;

for (i = 0; i <MAX; i ++) xx [i] = 0;

si (ReadDat ()) {

printf ( "fichero de datos IN.DAT no se puede abrir \ 007 \ n");

regreso;

}

Calcular();

printf ( “HORNO =% d \ nAVE1 =% f \ nAVER2 =% f \ nTOTFC =% f \ n”, incluso, Ave1, ave2, totfc);

WriteDat ();

}

WriteDat vacío (vacío)

{

FILE * fp;

int i;

fp = fopen ( “OUT.DAT”, “w”);

fprintf (fp, "% d \ n% f \ n% f \ n% f \ n", incluso, Ave1, ave2, totfc);

fclose (fp);

}

Publicados 239 artículos originales · ganado elogios 3 · Vistas 3164

Supongo que te gusta

Origin blog.csdn.net/it_xiangqiang/article/details/105164193
Recomendado
Clasificación