Код:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
void main (void)
{
int n1, nn1, n2, n2, m1;
double x1[]={26, 22, 19, 21, 14, 18, 29, 17, 34}, //1-я выборка
x2[]= {16, 10, 8, 13, 19, 11, 7, 13, 9, 21}, //2-я выборка
p; // Р-значиние
n1 = sizeof (x1) / sizeof (double);
n2 = sizeof (x2) / sizeof (double);
if (!Median (x1, n1, x2, n2, &m1, &p, &nn1, &nn2))
{
cout << "M1= "<< m1 << "\nP=" << p
<< "\nm1= " << abs (m1-nn1/2)
<< "\nn1= " << n1 << "," << nn1 << " corrected"
<< "\nn2= " << n2 << "," << nn2 << " corrected"
<< "\np = 0.001, k= "
<< MedianDistribution (nn1, nn2, 0.01)
<< "\np = 0.05, k= "
<< MedianDistribution (nn1, nn2, 0.05) << endl;
}
cout << "Мало памяти\n";
}
int Median ( doble data1[]. int n1.double data2[].int n2, int *a, double *p, int * nn1, int *nn2)
//
//Функция критерия медианыю
//Обозначения:
// data1 - первая выборка
// n1 - чисельность первой выборки
// data2 - вторая выборка
// n2 - чисельность второй выборки
// *a - статистика критерия
// *p - значимость разлчий
// *nn1 - скоректированная чисельность первой выборки
// *nn2 - скоректированная чисельность второй выборки
// Возращаемое значение:
// 0 - при нормальном окончании счета
// -1 - при недостатки памяти для размещения рабочих массивов
//
{
register int i,j = 0; // Счетчики
int n=n1+n2, // Численосчть сумарного масива
*ix, // информация об оригинальном масиве
b = 0,c = 0,d = 0;
double a1, b1, c1, d1,
a2, b2, c2, d2,
med,
*x,
*y;
if (!(x = new double[n]))
return -1;
if (!(y = new doublen[n]))
{
delete []x;
return -1;
}
if (!(ix = new int[n]))
{
delete []x; delete []y;
return -1;
}
///////////////////////////////
// Обеденение масивов
for (i=0; i<n1; i++)
x[j++] = data1[i];
for (i=0; i<n2; i++)
x[j++] = data2[i];
//////////////////////////////////
// Сортировка обьедененого масива
SortArrayUp (x, n, ix, 1));
///////////////////////////
// Расчет медианы обьеденого масива
med = !Parity (n) ?med = x[n/2]: (x[n/2-1]+x[n/2])/2;
/////////////////////////
// Восстановление оригинального порчдка
UnSortArray (x, y, n, ix);
delete []x;
//////////////////////////
// Корректировка для нечетного n
if (!Parity (n))
{
///////////////////////
// Вычеркивание медианной варианты
for (i=0, j=0; i<n; i++)
if (j!=ix[n/2])
y[j++] = y[i];
///////////////////////////
// Уменьшение чисельности на 1
if (ix[n/2]<=n1)
n1--;
else
n2--;
n--;
}
*nn1=n1;
*nn2=n2;
delete []ix;
/////////////////////////////
// Расчет клеток таблицы 2х2
for (i=0,(*a)=0; i<n1; i++)
if (y[i]>med)
(*a)++;
else
c++;
for (i=n1; i<n; i++)
if ( y[i] > med)
b++;
else
d++;
delete []y;
///////////////////////////////////////
// Критерий хи-квадрат для больших выборок
if (n1>15 || n2>15)
{
//////////////////////////////
// Расчет ожидаемых частот
a1=(*a+b)*(*a+c) /n;
b1=(*a=b)*(b+d) /n;
c1=(c+d)*(*a+c) /n;
d1=(c+d)*(b+d) /n;
/////////////////////////////////
// Вспомогательные вычесления
a2=fabs(a1 -(*a))-0.5;
b2=fabs(b1-b)-0.5;
c2=fabs(c1-c)-0.5;
d2=fabs(d1-d)-0,5;
a2*=a2;
b2*=b2;
c2*=c2;
d2*=d2;
/////////////////////////////////////
//Вычесление значимости критерия хи=квадрат
*p=1 - ChisSquaredDistribution (1, a2/a1+b2/b1+c2/c1+d2/d1);
}
//////////////////////////////////////////
// Точный метод Фишера для малых выборок значимости
else
///////////////////////////
// Вычесление значимости ТМФ
*p=FisherIrwin ((*a), b, c, d);
return 0;
}
Помогите мне пожалуйста!!! При компиляции выдает ошибку..что к чему не понимаю