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