Тервер лабораторные / 1 лаба / Код
.doc#define N 64
////////////////////////////////////////////////
void values (int *rand_val, int numb);
void print_int_mass (int*mass, int numb);
float sredn (int*mass, int n);
float dispers (int*mass, int n);
float nesm_oc_disp (int*mass, int n);
float M3 (int*mass, int n);
float M4 (int*mass, int n);
#include "func.h"
/////////////////////////////////////////////
void values (int *rand_val, int numb)
{
FILE* fp = fopen ("5.txt", "r");
if (fp == 0)
{
printf ("\n read error");
getch();
exit (1);
}
for (int i=0; i<numb; i++)
{
fscanf (fp, "%d\n", &(rand_val[i]));
}
fclose (fp);
return ;
}
/////////////////////////////////////////////////////////////////////
void print_int_mass (int*mass, int numb)
{
for (int i = 0 ; i<numb; i++)
{
printf ("\t%d", mass[i]);
}
}
////////////////////////////////////////////////////////////////////
float sredn (int*mass, int n)
{
float x = 0;
for (int i=0; i<n; i++)
{
x = x + (float) mass[i];
}
x = x / (float) n;
//printf ("\nsrednee: %f", x);
return x;
}
////////////////////////////////////////////////////////////////////
float dispers (int*mass, int n)
{
float x_sr = sredn (mass, n);
float dsp = 0;
for (int i=0; i<n; i++)
{
dsp = dsp + ( (float) mass[i] - x_sr)* ( (float) mass[i] - x_sr);
}
dsp = dsp / (float) n;
//printf ("\ndispersiya: %f", dsp);
return dsp;
}
/////////////////////////////////////////////////////////////////////
float nesm_oc_disp (int*mass, int n)
{
float x_sr = sredn (mass, n);
float dsp = 0;
for (int i=0; i<n; i++)
{
dsp = dsp + ( (float) mass[i] - x_sr)* ( (float) mass[i] - x_sr);
}
dsp = dsp /( (float) n + 1.0);
//printf ("\ndispersiya: %f", dsp);
return dsp;
}
////////////////////////////////////////////////////////////////////
float M3 (int*mass, int n)
{
float x_sr = sredn (mass, n);
float m = 0;
for (int i=0; i<n; i++)
{
m = m + pow ( ( (float) mass[i] - x_sr), 3);
}
m = m / (float) n;
//printf ("\ndispersiya: %f", dsp);
return m;
}
////////////////////////////////////////////////////////////////////
float M4 (int*mass, int n)
{
float x_sr = sredn (mass, n);
float m = 0;
for (int i=0; i<n; i++)
{
m = m + pow ( ( (float) mass[i] - x_sr), 4);
}
m = m / (float) n;
//printf ("\ndispersiya: %f", dsp);
return m;
}
///////////////////////////////////////////////////////////////////
#include "func.h"
////////////////////////////////////////////////////////////////////////
void main ()
{
int *rand_val = (int *)malloc ( sizeof(int)*N );
values (rand_val, N);
/*printf ("\nsrednee: %f", sredn (rand_val, N) );
//print_int_mass (rand_val, N);
printf ("\ndispersiya: %f", dispers (rand_val, N));
printf ("\nnesmeshennaya otsenka dispersii: %f", nesm_oc_disp (rand_val, N));
printf ("\nsrednekvadraticheskoye otkloneniye #1: %f", sqrt (dispers (rand_val, N)));
printf ("\nsrednekvadraticheskoye otkloneniye #2: %f", sqrt ( nesm_oc_disp (rand_val, N)));
printf ("\nM3: %f", M3 (rand_val, N));
printf ("\nM4: %f", M4 (rand_val, N));
printf ("\nmer otn izm: %f", sqrt ( nesm_oc_disp (rand_val, N)) / sredn (rand_val, N));
printf ("\n\ntao: %f", abs (rand_val [N-1] - sredn (rand_val, N)) / sqrt ( nesm_oc_disp (rand_val, N)));
*/
printf ("\nAs: %f", M3 (rand_val, N) / pow (sqrt (dispers (rand_val, N)),3));
float g1 = M3 (rand_val, N)/pow (dispers (rand_val, N), (float)1.50);
printf ("\notcenka As: %f", sqrt((float)N*((float)N-1))*g1/((float)N-2));
printf ("\nEk: %f", M4 (rand_val, N) / pow (sqrt (dispers (rand_val, N)),4)-3.0);
float g2 = M4 (rand_val, N)/pow (dispers (rand_val, N), (float)2.0)-3;
printf ("\notcenka Ek: %f", ((float) N-1) / ( (float)N-2) / ((float)N-3) * ( ((float)N +1)*g2+6 ) );
float n = (float) N;
printf ("\nS As: %f", sqrt (6*n*(n-1)/(n-2)/(n+1)/(n+3)));
printf ("\nS Ex: %f", sqrt(24*n*(n-2)*(n-3)/(n+1)/(n+1)/(n+3)/(n+5)));
getch ();
}
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#define N 64
struct cnt {
int number;
int frequency;
};
////////////////////////////////////////////////
void values (int *rand_val, int numb);
void print_int_mass (int*mass, int numb);
void Count (int *mass, int numb, cnt *table);
void Print_table (int numb, cnt *table);
#include "func.h"
///////////////////////////////////////////////////
void values (int *rand_val, int numb)
{
FILE* fp = fopen ("5.txt", "r");
if (fp == 0)
{
printf ("\n read error");
exit (1);
}
for (int i=0; i<numb; i++)
{
fscanf (fp, "%d\n", &(rand_val[i]));
}
fclose (fp);
return ;
}
///////////////////////////////////////////////////
void print_int_mass (int*mass, int numb)
{
for (int i = 0 ; i<numb; i++)
{
printf ("\t%d", mass[i]);
}
}
///////////////////////////////////////////////////
void Count (int *mass, int numb, cnt *table)
{
for (int i = 0 ; i<numb; i++)
{
table[i].frequency = 0;
table[i].number = 0;
}
for (int i = 0 ; i<numb; i++)
{
for (int j = 0 ; j<numb; j++)
{
if (mass[i] == table[j].number)
{
table[j].frequency ++;
break;
}
else
if (table[j].number == 0)
{
table[j].number = mass[i];
table[j].frequency ++;
break;
}
}
}
}
///////////////////////////////////////////////////
void Print_table (int numb, cnt *table)
{
for (int i = 0; (i < numb) && (table[i].number != 0); i++)
{
printf ("\n%d\t%d",table[i].number,table[i].frequency);
}
}
///////////////////////////////////////////////////
#include "func.h"
////////////////////////////////////////////////////////////////////////
void main ()
{
int *rand_val = (int *)malloc ( sizeof(int)*N );
cnt *table = (cnt *)malloc ( sizeof(cnt)*N );
values(rand_val, N);
//print_int_mass (rand_val, N);
Count (rand_val, N, table);
Print_table (N, table);
getch();
}