Рекурсивный алгоритм распознавания образов, страница 5

chr=chr+'\n';

FileWrite(f1,&chr[1],chr.Length());

}

FileClose(f1);

}

}

else ShowMessage(AnsiString("Ошибка параметров!!!"));

}

//--------------------------------------------------------------------------void __fastcall TForm1::Button3Click(TObject *Sender)

{

if((StrToInt(ENPer->Text)>0)&&(StrToInt(ENClas->Text)>0))

{

Form1->Height = 237;

GBNewNab->Width = 371;

GBNewNab->Top = 132;

Button1->Enabled = false;

Button2->Enabled = false;

Button3->Enabled = false;

Button4->Enabled = false;

Button5->Enabled = false;

Button9->Enabled = false;

ENPer->Enabled = false;

ENClas->Enabled = false;

}

else ShowMessage(AnsiString("Недопустимые нулевые параметры!!!"));

}

//--------------------------------------------------------------------------void __fastcall TForm1::Button12Click(TObject *Sender)

{

Form1->ClientHeight = 134;

GBNewNab->Width = 0;

GBNewNab->Top = 0;

Button1->Enabled = true;

Button2->Enabled = true;

Button3->Enabled = true;

Button4->Enabled = true;

Button5->Enabled = true;

Button9->Enabled = true;

if(StrToInt(ENNab->Text) == 0)

{

ENPer->Enabled = true;

ENClas->Enabled = true;

}

}

//--------------------------------------------------------------------------void __fastcall TForm1::Button11Click(TObject *Sender)

{

int i,j,k,sum,sgn;

j=1;

for(i=1;i<=StrToInt(ENPer->Text);i++)

{

sum=(StrToInt(ENNab->Text))*(StrToInt(ENPer->Text)+1)+i;

while(((ENewNab->Text[j]<'0')||(ENewNab->Text[j]>'9'))&&(ENewNab->Text[j]!='-')) j++;

if(ENewNab->Text[j]=='-')

{

sgn=-1;

j++;

}

else sgn=1;

while((j<=ENewNab->Text.Length())&&(ENewNab->Text[j]!='.')&&

(ENewNab->Text[j]!=',')&&(ENewNab->Text[j]!=' '))

{

Data[sum]=Data[sum]*10+ENewNab->Text[j]-'0';

j++;

}

if((j<=ENewNab->Text.Length())&&((ENewNab->Text[j]=='.')||

(ENewNab->Text[j]==',')))

{

k=1;

float per;

j++;

while((j<=ENewNab->Text.Length())&&(ENewNab->Text[j]!=' '))

{

k=k*10;

per=ENewNab->Text[j]-'0';

Data[sum]=Data[sum]+per/k;

j++;

}

}

Data[sum]=Data[sum]*sgn;

}

i=StrToInt(ENNab->Text);

i++;

ENNab->Text=IntToStr(i);

i=StrToInt(ENewClas->Text);

Data[(StrToInt(ENNab->Text))*(StrToInt(ENPer->Text)+1)]=i;

Form1->ClientHeight = 134;

GBNewNab->Width = 0;

GBNewNab->Top = 0;

Button1->Enabled = true;

Button2->Enabled = true;

Button3->Enabled = true;

Button4->Enabled = true;

Button5->Enabled = true;

Button9->Enabled = true;

}

//--------------------------------------------------------------------------void __fastcall TForm1::Button4Click(TObject *Sender)

{

if(LBData->Top == 0)

{

if(StrToInt(ENNab->Text) != 0)

{

Form1->ClientHeight = 413;

LBData->Top = 136;

LBData->Height = 277;

LBData->Width = 371;

Button1->Enabled = false;

Button2->Enabled = false;

Button3->Enabled = false;

Button5->Enabled = false;

Button9->Enabled = false;

Button4->Caption = "Назад";

AnsiString str;

int per;

for(int i=1;i<=StrToInt(ENNab->Text);i++)

{

str="";

for(int j=1;j<=StrToInt(ENPer->Text);j++)

{

str=str+FloatToStrF(Data[(i-1)*(StrToInt(ENPer->Text)+1)+j], ffFixed,6,6)+" ";

}

str=str+"  "+FloatToStrF(Data[i*(StrToInt(ENPer->Text)+1)],ffFixed,6,0);

LBData->Items->Add(str);

}

}

else

ShowMessage(AnsiString("Нет данных!!!"));

}

else

{

Form1->ClientHeight = 134;

LBData->Top = 0;

LBData->Height = 0;

LBData->Width = 0;

Button1->Enabled = true;

Button2->Enabled = true;

Button3->Enabled = true;

Button5->Enabled = true;

Button9->Enabled = true;

Button4->Caption = "Просмотр данных";

LBData->Clear();

}

}

//--------------------------------------------------------------------------void __fastcall TForm1::Button6Click(TObject *Sender)

{

if(EElem->Text.Length() == 0) ShowMessage(AnsiString("Нет данных!!!"));

else

{

int sgn,i,j,k;

float *mas=new float[StrToInt(ENPer->Text)+1];