· провести распознавание интересующего вектора выборки, по средствам занесения его в соответствующее поле на панели «Распознавание» и активизации операции «Распознать».
После проведения анализа существует возможность вернуться на этап модификации исходных данных (операция «Изменить исходные данные»), где можно сохранить проанализированную выборку (по средствам применения операции «Сохранить данные в файл») или создать другой набор данных.
5. Листинг программы
//--------------------------------------------------------------------------#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "Laba1_Unit.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
#define dim 10000
AnsiString Temp;
float **b;
float *Data;
float **g;
float Prognoz(float *mas,int NClas,int NPer)
{
int i,j;
float sum,max,ind;
for(i=1;i<=NClas;i++)
{
sum=0;
for(j=1;j<=NPer;j++)
sum=sum+g[i][j]*mas[j];
sum=sum+g[i][0];
if(i==1)
{
max=sum;
ind=1;
}
else
if(sum>max)
{
max=sum;
ind=i;
}
}
return ind;
}
//--------------------------------------------------------------------------TForm1 *Form1;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(OpenDialog1->Execute())
{
delete[] Data;
Data = new float [dim];
EFileName->Text = OpenDialog1->FileName;
int f1 = FileOpen(EFileName->Text, fmOpenRead);
char ch;
ENPer->Text = "";
ENClas->Text = "";
ENNab->Text = "";
FileRead(f1,&ch,1);
while((ch<'0')||(ch>'9')) FileRead(f1,&ch,1);
while((ch>='0')&&(ch<='9'))
{
ENPer->Text = ENPer->Text + ch;
FileRead(f1,&ch,1);
}
while((ch<'0')||(ch>'9')) FileRead(f1,&ch,1);
while((ch>='0')&&(ch<='9'))
{
ENClas->Text = ENClas->Text + ch;
FileRead(f1,&ch,1);
}
while((ch<'0')||(ch>'9')) FileRead(f1,&ch,1);
while((ch>='0')&&(ch<='9'))
{
ENNab->Text = ENNab->Text + ch;
FileRead(f1,&ch,1);
}
int i,j,k,sum,sgn;
for(i=1;i<=StrToInt(ENNab->Text);i++)
{
for(j=1;j<=StrToInt(ENPer->Text);j++)
{
sum=(i-1)*(StrToInt(ENPer->Text)+1)+j;
Data[sum]=0;
while(((ch<'0')||(ch>'9'))&&(ch!='-')) FileRead(f1,&ch,1);
if(ch=='-')
{
sgn=-1;
FileRead(f1,&ch,1);
}
else sgn=1;
while((ch!='.')&&(ch!=',')&&(ch!=' '))
{
Data[sum]=Data[sum]*10+ch-'0';
FileRead(f1,&ch,1);
}
if((ch=='.')||(ch==','))
{
k=1;
float per;
FileRead(f1,&ch,1);
while(ch!=' ')
{
k=k*10;
per=ch-'0';
Data[sum]=Data[sum]+per/k;
FileRead(f1,&ch,1);
}
}
Data[sum]=Data[sum]*sgn;
}
while((ch<'0')||(ch>'9')) FileRead(f1,&ch,1);
sum=0;
while((ch<='9')&&(ch>='0'))
{
sum=sum*10+ch-'0';
FileRead(f1,&ch,1);
}
Data[i*(StrToInt(ENPer->Text)+1)]=sum;
}
FileClose(f1);
LChange->Width = 0;
}
else
ShowMessage(AnsiString("Не могу открыть файл!!!"));
}
//--------------------------------------------------------------------------void __fastcall TForm1::Button9Click(TObject *Sender)
{
delete [] Data;
Form1->Close();
}
//--------------------------------------------------------------------------void __fastcall TForm1::Button5Click(TObject *Sender)
{
if((ENPer->Text[1] > '0')&&
(ENClas->Text[1] > '0')&&
(ENNab->Text[1] > '0')&&
(ENPer->Text[1] <= '9')&&
(ENClas->Text[1] <= '9')&&
(ENNab->Text[1] <= '9'))
{
EClass->Text = "";
EElem->Text = "";
GBRasp->Height = 63;
ENPer->Enabled = false;
ENClas->Enabled = false;
GBAnaliz->Width = 169;
GBOperat->Width = 0;
Form1->ClientWidth = 343;
////////////////////////////////////
float *P;
float **M;
float **L;
int i,j,k,l;
float per,sum,sum1,sum2;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.