środa, 27 lipca 2022

Polish lotteries (C++ Builder)

 



__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

 srand(time(NULL));

}

//---------------------------------------------------------------------------


void __fastcall TForm1::iSort(int *tab, int s)

{

 int i,j,k;

 for(i=1;i<s;i++)

 {

  j=i;

  k=tab[j];

  while((j>0) && (tab[j-1]>k))

  {

   tab[j]=tab[j-1];

   j--;

  }

  tab[j]=k;

 }

}



void __fastcall TForm1::Button2Click(TObject *Sender)

{

 Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

 int mini_Lotto[8][5];

 int lotto_Lotto[8][6];

 int lotto_Plus[8][6];

 int multi_Multi[8][20];

 int Kaskada[8][12];

 int i,j,k;

 int temp_Mini[8][42],temp_lotto_Lotto[8][49],temp_lotto_Plus[8][49],

 temp_multi_Multi[8][80],temp_Kaskada[8][24];


 for(i=0;i<8;i++)

  for(j=0;j<42;j++)

   temp_Mini[i][j]=0;

 for(i=0;i<8;i++)

 {

  for(j=0;j<49;j++)

  {

    temp_lotto_Lotto[i][j]=0;

    temp_lotto_Plus[i][j]=0;

  }

 }

 for(i=0;i<8;i++)

  for(j=0;j<80;j++)

   temp_multi_Multi[i][j]=0;


 for(i=0;i<8;i++)

  for(j=0;j<24;j++)

   temp_Kaskada[i][j]=0;



 //Mini Lotto 5/52


 i=0;

 do

 {

   for(j=0;j<5;j++)

   {

     do

     {

      k=rand()%42;

     }while(temp_Mini[i][k]!=0);

     temp_Mini[i][k]=1;

     mini_Lotto[i][j]=k+1;

   }

   ++i;

 }while(i<8);

 for(i=0;i<8;i++)

  iSort(mini_Lotto[i],6);

 for(i=0;i<5;i++)

  for(j=0;j<8;j++)

   StringGrid1->Cells[i][j]=IntToStr(mini_Lotto[j][i]);


//Lotto (6/49)


 i=0;

 do

 {

   for(j=0;j<6;j++)

   {

     do

     {

      k=rand()%49;

     }while(temp_lotto_Lotto[i][k]!=0);

     temp_lotto_Lotto[i][k]=1;

     lotto_Lotto[i][j]=k+1;

   }

   ++i;

 }while(i<8);

 for(i=0;i<8;i++)

  iSort(lotto_Lotto[i],6);

 for(i=0;i<6;i++)

  for(j=0;j<8;j++)

   StringGrid2->Cells[i][j]=IntToStr(lotto_Lotto[j][i]);


//Lotto Plus (6/49)


 i=0;

 do

 {

   for(j=0;j<6;j++)

   {

     do

     {

      k=rand()%49;

     }while(temp_lotto_Plus[i][k]!=0);

     temp_lotto_Plus[i][k]=1;

     lotto_Plus[i][j]=k+1;

   }

   ++i;

 }while(i<8);

 for(i=0;i<8;i++)

  iSort(lotto_Plus[i],6);

 for(i=0;i<6;i++)

  for(j=0;j<8;j++)

   StringGrid3->Cells[i][j]=IntToStr(lotto_Plus[j][i]);

//Multi Multi (20/80)


 i=0;

 do

 {

   for(j=0;j<20;j++)

   {

     do

     {

      k=rand()%80;

     }while(temp_multi_Multi[i][k]!=0);

     temp_multi_Multi[i][k]=1;

     multi_Multi[i][j]=k+1;

   }

   ++i;

 }while(i<8);

 for(i=0;i<8;i++)

  iSort(multi_Multi[i],20);

 for(i=0;i<20;i++)

  for(j=0;j<8;j++)

   StringGrid4->Cells[i][j]=IntToStr(multi_Multi[j][i]);


//Kaskada(12/24)


 i=0;

 do

 {

   for(j=0;j<12;j++)

   {

     do

     {

      k=rand()%24;

     }while(temp_Kaskada[i][k]!=0);

     temp_Kaskada[i][k]=1;

     Kaskada[i][j]=k+1;

   }

   ++i;

 }while(i<8);

 for(i=0;i<8;i++)

  iSort(Kaskada[i],12);

 for(i=0;i<12;i++)

  for(j=0;j<8;j++)

   StringGrid5->Cells[i][j]=IntToStr(Kaskada[j][i]);





}