__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
srand(time(NULL));
}
double __fastcall TForm1::min_Fraction(int *tab1, int size1, int *tab2, int size2)
{
int i,sum1,sum2;
double fraction;
sum1=sum2=0;
for(i=0;i<size1;i++)
sum1+=tab1[i];
for(i=0;i<size2;i++)
sum2+=tab2[i];
if(sum1<sum2)
fraction=(1.0*sum1)/(1.0*sum2);
else
fraction=(1.0*sum2)/(1.0*sum1);
return fraction;
}
double __fastcall TForm1::max_Fraction(int *tab1, int size1, int *tab2, int size2)
{
int i,sum1,sum2;
double fraction;
sum1=sum2=0;
for(i=0;i<size1;i++)
sum1+=tab1[i];
for(i=0;i<size2;i++)
sum2+=tab2[i];
if(sum1>sum2)
fraction=(1.0*sum1)/(1.0*sum2);
else
fraction=(1.0*sum2)/(1.0*sum1);
return fraction;
}
void __fastcall TForm1::sort_Array(int *tab, int size)
{
int i,j,k;
for(i=1;i<size;i++)
{
j=i;
k=tab[j];
while((j>0) && (tab[j-1]>k))
{
tab[j]=tab[j-1];
j--;
}
tab[j]=k;
}
}
bool __fastcall TForm1::is_First(int value)
{
int i,sum;
sum=0;
for(i=1;i<value+1;i++)
{
if(value%i==0)
++sum;
}
if(sum==2)
return true;
else
return false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Label1->Caption=DateToStr(Date());
int i,j;
i=0;
j=2;
do
{
if(is_First(j))
{
temp_F[i]=j;
++i;
}
++j;
}while(i<100);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
TDateTime DateTime = Time();
Label2->Caption=TimeToStr(DateTime);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
int first_Tab1[10][10],first_Tab2[10][10],sum_Tab[10][20],i,j,k,l,r1,r2;
double min_Fract[10],max_Fract[10];
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
r1=rand()%100;
r2=rand()%100;
first_Tab1[i][j]=temp_F[r1];
first_Tab2[i][j]=temp_F[r2];
}
}
for(i=0;i<10;i++)
{
sort_Array(first_Tab1[i],10);
sort_Array(first_Tab2[i],10);
}
for(i=0;i<10;i++)
{
min_Fract[i]=min_Fraction(first_Tab1[i],10,first_Tab2[i],10);
max_Fract[i]=max_Fraction(first_Tab1[i],10,first_Tab2[i],10);
}
for(i=0;i<10;i++)
{
for(j=0,k=0,l=1;j<10;j++,k+=2,l+=2)
{
sum_Tab[i][k]=first_Tab1[i][j];
sum_Tab[i][l]=first_Tab2[i][j];
}
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
StringGrid1->Cells[i][j]=IntToStr(first_Tab1[j][i]);
StringGrid2->Cells[i][j]=IntToStr(first_Tab2[j][i]);
}
StringGrid4->Cells[0][i]=FloatToStr(min_Fract[i]);
StringGrid4->Cells[1][i]=FloatToStr(max_Fract[i]);
}
for(i=0;i<10;i++)
{
for(j=0;j<20;j++)
{
StringGrid3->Cells[j][i]=IntToStr(sum_Tab[i][j]);
}
}
}