sobota, 24 marca 2018

Ulam spiral - C++ Builder


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)
{
 int table[21][21];
 int value;
 value=21*21;
 int i,j;
 int x1,y1,x2,y2;
 x1=0;y1=0;x2=20;y2=20;

 for(i=0;i<21;i++)
  for(j=0;j<21;j++)
   table[i][j]=0;
 while (value>0)
 {
  for(i=x2;i>x1-1;i--)
  {
  table[i][y2]=value;
  value--;
  }


  for(i=y2-1;i>y1-1;i--)
  {
  table[x1][i]=value;
  value--;
  }


  for(i=x1+1;i<x2+1;i++)
  {
  table[i][y1]=value;
  value--;
  }


  for(i=y1+1;i<y2;i++)
  {
  table[x2][i]=value;
  value--;
  }

x2--;
y2--;
x1++;
y1++;

 }
 for(i=0;i<21;i++)
  for(j=0;j<21;j++)
   StringGrid1->Cells[i][j]=IntToStr(table[i][j]);

 for(i=0;i<21;i++)
  for(j=0;j<21;j++)
   if(is_First(table[i][j]))
StringGrid2->Cells[i][j]="1";
   else
    StringGrid2->Cells[i][j]="O";
}

Brak komentarzy:

Prześlij komentarz