__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