//--------------------------------------------------------------------------- #include #pragma hdrstop #define NumZones 4 #define AllMoney 10 #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; long int cZone[NumZones]={0,0,0,0}; long int mZone[NumZones]={12,12,12,12}; float ProfitZone[AllMoney][NumZones]; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::InitData() { for(int i=0;iText); ProfitZone[0][1]=StrToFloat(Edit2->Text); ProfitZone[0][2]=StrToFloat(Edit3->Text); ProfitZone[0][3]=StrToFloat(Edit4->Text); ProfitZone[1][0]=StrToFloat(Edit5->Text); ProfitZone[1][1]=StrToFloat(Edit6->Text); ProfitZone[1][2]=StrToFloat(Edit7->Text); ProfitZone[1][3]=StrToFloat(Edit8->Text); ProfitZone[2][0]=StrToFloat(Edit9->Text); ProfitZone[2][1]=StrToFloat(Edit10->Text); ProfitZone[2][2]=StrToFloat(Edit11->Text); ProfitZone[2][3]=StrToFloat(Edit12->Text); ProfitZone[3][0]=StrToFloat(Edit13->Text); ProfitZone[3][1]=StrToFloat(Edit14->Text); ProfitZone[3][2]=StrToFloat(Edit15->Text); ProfitZone[3][3]=StrToFloat(Edit16->Text); ProfitZone[4][0]=StrToFloat(Edit17->Text); ProfitZone[4][1]=StrToFloat(Edit18->Text); ProfitZone[4][2]=StrToFloat(Edit19->Text); ProfitZone[4][3]=StrToFloat(Edit20->Text); ProfitZone[5][0]=StrToFloat(Edit21->Text); ProfitZone[5][1]=StrToFloat(Edit22->Text); ProfitZone[5][2]=StrToFloat(Edit23->Text); ProfitZone[5][3]=StrToFloat(Edit24->Text); ProfitZone[6][0]=StrToFloat(Edit25->Text); ProfitZone[6][1]=StrToFloat(Edit26->Text); ProfitZone[6][2]=StrToFloat(Edit27->Text); ProfitZone[6][3]=StrToFloat(Edit28->Text); ProfitZone[7][0]=StrToFloat(Edit29->Text); ProfitZone[7][1]=StrToFloat(Edit30->Text); ProfitZone[7][2]=StrToFloat(Edit31->Text); ProfitZone[7][3]=StrToFloat(Edit32->Text); ProfitZone[8][0]=StrToFloat(Edit33->Text); ProfitZone[8][1]=StrToFloat(Edit34->Text); ProfitZone[8][2]=StrToFloat(Edit35->Text); ProfitZone[8][3]=StrToFloat(Edit36->Text); ProfitZone[9][0]=StrToFloat(Edit37->Text); ProfitZone[9][1]=StrToFloat(Edit38->Text); ProfitZone[9][2]=StrToFloat(Edit39->Text); ProfitZone[9][3]=StrToFloat(Edit40->Text); } //------------------------------------------------ void __fastcall TForm1::UpRez() { Label6->Caption=IntToStr(cZone[0]); Label7->Caption=IntToStr(cZone[1]); Label8->Caption=IntToStr(cZone[2]); Label9->Caption=IntToStr(cZone[3]); } //--------------------------------------------------------------------------- float mmRez=0; void __fastcall TForm1::Button1Click(TObject *Sender) { InitData(); long int mZone[NumZones]; bool need=true; float Rez=0,mRez=0; int count=0,nnn=0; while(need) { for(int p=NumZones-1;p>0;p--) if(cZone[p]==AllMoney) { cZone[p]=0; cZone[p-1]++; } if(CorrectSel(cZone,NumZones,AllMoney)) { count++; UpRez(); Rez=CallRezult(cZone); if(Rez>mRez) { for(int i=0;iCaption=IntToStr(mZone[0]); Label7->Caption=IntToStr(mZone[1]); Label8->Caption=IntToStr(mZone[2]); Label9->Caption=IntToStr(mZone[3]); Label5->Caption=FloatToStr(mRez); } //--------------------------------------------------------------------------- //функция определяет кооректно ли распределены финансы по зонам //в соответствии с их количеством //...................................OK bool __fastcall TForm1::CorrectSel(long int *Mas,long numZ,long int Money) { int Sum=0; for(long int p=0;p