#include <vcl.h>
#include <stdlib.h>
#include <time.h>
#define max 50
void init_Random()
{
srand(time(NULL));
}
bool 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;
}
class test_Variant
{
private:
Variant Array;
typedef int temp_Array[max];
temp_Array *t_A,*t_B;
int v_min,v_max;
public:
test_Variant()
{
int i,j,k;
init_Random();
Array=VarArrayCreate(OPENARRAY(int,(0,max)),varInteger);
t_A=(temp_Array *)VarArrayLock(Array);
t_B=(temp_Array *)VarArrayLock(Array);
i=0;
j=2;
do
{
if(is_First(j))
{
(*t_A)[i]=j;
++i;
}
++j;
}while(i<max);
v_min=VarArrayLowBound(t_A,VarArrayDimCount(t_A));
v_max=VarArrayHighBound(t_A,VarArrayDimCount(t_A));
for(i=v_min;i<v_max;i++)
{
k=rand()%max;
(*t_B)[i]=(*t_A)[k];
}
}
~test_Variant()
{
VarArrayUnlock(t_A);
VarArrayUnlock(t_B);
}
void Write(TListBox *LB)
{
int i;
for(i=v_min;i<v_max;i++)
LB->Items->Add(IntToStr(i+1)+" ) - "+VarToStr((*t_A)[i])+" - "+VarToStr((*t_B)[i]));
}
};
void __fastcall TForm1::Button1Click(TObject *Sender)
{
test_Variant *t_V=new class test_Variant;
t_V->Write(ListBox1);
}
Brak komentarzy:
Prześlij komentarz