private: // User declarations
 bool __fastcall is_First(int x);
 void __fastcall init_Random();
 int *tab_first;
bool __fastcall TForm1::is_First(int x)
{
 int i,sum;
 sum=0;
 for(i=1;i<x+1;i++)
  if(x%i==0)
   ++sum;
 if(sum==2)
  return true;
 else
  return false;
}
void __fastcall TForm1::init_Random()
{
 srand(time(NULL));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 init_Random();
 tab_first=new int[100];
 int i,sum;
 sum=1;
 i=0;
 do
 {
  if(is_First(sum))
  {
   tab_first[i]=sum;
   ++sum;
   ++i;
  }
  else
  ++sum;
 }while(i<100);
 int j;
 sum=0;
 for(i=0;i<10;i++)
 {
  for(j=0;j<10;j++)
   {
 StringGrid1->Cells[j][i]=IntToStr(tab_first[sum]);
 ++sum;
   }
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 delete tab_first;
 Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 int tab_sum[10][10];
 int temp_sum[10][10];
 int i,j;
  for(i=0;i<10;i++)
  {
   for(j=0;j<10;j++)
   {
 tab_sum[i][j]=0;
 temp_sum[j][i]=StrToInt(StringGrid1->Cells[j][i]);
   }
   }
  for(i=0;i<10;i++)
  {
   for(j=0;j<10;j++)
   {
    tab_sum[i][j]+=temp_sum[i][j];
    if(i>0)
     tab_sum[i][j]+=temp_sum[i-1][j];
    if(i>0 && j>0)
     tab_sum[i][j]+=temp_sum[i-1][j-1];
    if(j>0)
     tab_sum[i][j]+=temp_sum[i][j-1];
    if(i<9 && j>0)
     tab_sum[i][j]+=temp_sum[i+1][j-1];
    if(i<9)
     tab_sum[i][j]+=temp_sum[i+1][j];
    if(i<9 && j<9)
     tab_sum[i][j]+=temp_sum[i+1][j+1];
    if(j<9)
     tab_sum[i][j]+=temp_sum[i][j+1];
    if(i>0 && j<9)
     tab_sum[i][j]+=temp_sum[i-1][j+1];
   }
  }
  int k,sum_f,k1,sum_f1;
  k=0,k1=0;
  sum_f=0,sum_f1=0;
  for(i=0;i<10;i++)
  {
   for(j=0;j<10;j++)
   {
 StringGrid2->Cells[i][j]=IntToStr(tab_sum[i][j]);
 if(is_First(tab_sum[i][j]))
 {
  ListBox1->Items->Add(IntToStr(tab_sum[i][j]));
  k++;
  sum_f+=tab_sum[i][j];
 }
 else
 {
  ListBox2->Items->Add(IntToStr(tab_sum[i][j]));
  k1++;
  sum_f1+=tab_sum[i][j];
 }
   }
  }
  Label2->Caption=IntToStr(k)+" elements";
  Edit1->Text=IntToStr(sum_f);
  Label5->Caption=IntToStr(k1)+" elements";
  Edit2->Text=IntToStr(sum_f1);
  int temp_random[100];
  int first_random[10];
  int sum_random[10];
  int sum_temp_random[100];
  int value_random[10];
  k=0;
  for(i=0;i<10;i++)
   {
  for(j=0;j<10;j++)
  {
    sum_temp_random[k]=tab_sum[i][j];
    k++;
  }
   }
  i=0;
  for(j=0;j<100;j++)
   temp_random[j]=0;
  do
  {
 do
 {
  k=rand()%100;
 }while(temp_random[k]!=0);
 temp_random[k]=1;
 value_random[i]=k+1;
 first_random[i]=tab_first[k];
 sum_random[i]=sum_temp_random[k];
 i++;
  }while(i<10);
  for(i=0;i<10;i++)
  {
   StringGrid3->Cells[i][0]=IntToStr(value_random[i]);
   StringGrid3->Cells[i][1]=IntToStr(first_random[i]);
   StringGrid3->Cells[i][2]=IntToStr(sum_random[i]);
  }
}

Brak komentarzy:
Prześlij komentarz