__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 srand(time(NULL));
}
//---------------------------------------------------------------------------
int* __fastcall TForm1::rand_Tab2(int *tab, int size_Tab, int find_Sum)
{
	int i,sum;
	int *result_Tab=new int [size_Tab];
	for(i=0;i<size_Tab;i++)
	 result_Tab[i]=tab[i];
	sum=0;
	do
	{
		i=0;
		do
		{
			 result_Tab[i]=rand()%20;
	         sum+=result_Tab[i];
	         ++i;
		}while (i<size_Tab);
		if(sum!=find_Sum)
		 sum=0;
	}while(sum!=find_Sum);
	return result_Tab;
}
void __fastcall TForm1::Sort(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 i,j,k,SUM;
 k=20;
 SUM=StrToInt(Edit1->Text);
 int **TAB=new int*[k];
 for(i=0;i<k;i++)
  TAB[i]=new int[k];
 for(i=0;i<k;i++)
 {
  TAB[i]=rand_Tab2(TAB[i],k,SUM);
 }
 for(i=0;i<k;i++)
  Sort(TAB[i],k);
 for(i=0;i<k;i++)
 {
  for(j=0;j<k;j++)
  {
   StringGrid1->Cells[j][i]=IntToStr(TAB[i][j]);
  }
 }
 for(i=0;i<k;i++)
  delete [] TAB[i];
 delete [] TAB;
}
Brak komentarzy:
Prześlij komentarz