wtorek, 5 maja 2020

Tables and StringGrid - C++ Builder





__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]);
  }
 }



}


Brak komentarzy:

Prześlij komentarz