Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2010, 16:45   #1
kyzka
Новичок
Джуниор
 
Регистрация: 11.12.2010
Сообщений: 1
По умолчанию Builder C++. Ошибка при компиляции

Код:
#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;


}
Помогите мне пожалуйста!!! При компиляции выдает ошибку..что к чему не понимаю

Последний раз редактировалось Stilet; 11.12.2010 в 19:45.
kyzka вне форума Ответить с цитированием
Старый 11.12.2010, 21:22   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

Цитата:
При компиляции выдает ошибку
Какую?.. Где?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка компиляции в С++ Builder 2009 Kreadlling C++ Builder 1 18.11.2010 18:18
Builder(ошибка компиляции) mister2010 C++ Builder 1 04.03.2010 11:11
ООП:Ошибка при компиляции в C++Builder RABERT C++ Builder 1 19.12.2009 20:36
Ошибка при компиляции [QY]'~''LeK1[ee] Помощь студентам 2 28.05.2008 20:46
Ошибка при компиляции zak Общие вопросы C/C++ 2 11.12.2007 18:24