void __fastcall TForm1::alg_Greedy(float a, float x[3], float y[3], float z[3])
{
double temp=a;
const int k=3;
int i;
for(i=0;i<k;i++)
{
if(x[i]>temp)
break;
z[i]=1;
temp-=x[i];
if(i<k)
z[i]=temp/x[i];
}
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text="";
Edit2->Text="";
Edit3->Text="";
Edit4->Text="";
Edit5->Text="";
Edit6->Text="";
Edit7->Text="";
Edit8->Text="";
Edit9->Text="";
Edit10->Text="";
Label1->Caption="Size = ";
Label2->Caption="x[0]";
Label3->Caption="x[1]";
Label4->Caption="x[2]";
Label5->Caption="y[0]";
Label6->Caption="y[1]";
Label7->Caption="y[2]";
Label8->Caption="z[0]";
Label9->Caption="z[1]";
Label10->Caption="z[2]";
Button1->Caption="&RUN";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ListBox1->Items->Clear();
const int k=3; int i;
float Size, Sum;
float x[k]; float y[k]; float z[k];
Sum=0.0;
Size=StrToFloat(Edit1->Text);
x[0]=StrToFloat(Edit2->Text);
x[1]=StrToFloat(Edit2->Text);
x[2]=StrToFloat(Edit4->Text);
y[0]=StrToFloat(Edit5->Text);
y[1]=StrToFloat(Edit6->Text);
y[2]=StrToFloat(Edit7->Text);
z[0]=StrToFloat(Edit8->Text);
z[1]=StrToFloat(Edit9->Text);
z[2]=StrToFloat(Edit10->Text);
alg_Greedy(Size,x,y,z);
for(i=0;i<k;Sum+=z[i]*y[i],i++)
{
ListBox1->Items->Add(IntToStr(i)+") "+FloatToStr(x[i])+" "+FloatToStr(y[i])+" "+
FloatToStr(z[i])+" \n");
}
Label11->Caption="Total: "+FloatToStr(Sum);
}