INTERNET
 :
  |    

/

, . /

++.

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 

T* operator[](int i);};

template <class T,int size> SArray<T,size>::SArray()

{ for(int k=0;k<size;k++) data[k]=NULL; }

template <class T,int size> SArray<T,size>::~SArray()

{ for(int k=0;k<size;k++) if(data[k]!=NULL) delete data[k]; }

template <class T,int size> T* SArray<T,size>::FindBin(T& key)

{ int a=0,b=size-1; //,

while(a<=b)

{ int m=(a+b)/2; //

while(data[m]==NULL&&m>a) m--;

{ if(*data[m]==key) return data[m]; //

if(*data[m]>key) a=m+1; //

else b=m-1; } } //

return NULL; } //

template <class T,int size> T* SArray<T,size>::operator[](int i)

{ if(i<0||i>=size) return NULL;

if(data[i]==NULL) data[i]=new T;

return data[i]; }

void main()

{ SArray<int,10> a; // int

*a[0]=5; *a[1]=9; *a[2]=17; //

int i=*a.FindBin(17); } //

//----------------------------------------------------------------------------

//3.

//1.

//5. .

template <class T,int size> class SArray

{ private:

T *data[size];

public:

SArray();

~SArray();

T* operator[](int i);};

template <class T,int size> SArray<T,size>::SArray()

{ for(int k=0;k<size;k++) data[k]=NULL; }

template <class T,int size> SArray<T,size>::~SArray()

{ for(int k=0;k<size;k++) if(data[k]!=NULL) delete data[k]; }

template <class T,int size> T* SArray<T,size>::operator[](int i)

{ if(i<0||i>=size) return NULL;

if(data[i]==NULL) data[i]=new T;

return data[i]; }

void main()

{ SArray<int,10> a; // int

*a[4]=6; *a[6]=7; *a[1]=2; //

int i=*a[4]; i=*a[6]; i=*a[1];} //

//----------------------------------------------------------------------------

//3.

//1.

//6. () .

template <class T,int size> class SArray

{ private:

T *data[size];

public:

SArray();

~SArray();

T* operator[](int i);

void Del(int i); };

template <class T,int size> SArray<T,size>::SArray()

{ for(int k=0;k<size;k++) data[k]=NULL; }

template <class T,int size> SArray<T,size>::~SArray()

{ for(int k=0;k<size;k++) if(data[k]!=NULL) delete data[k]; }

template <class T,int size> T* SArray<T,size>::operator[](int i)

{ if(i<0||i>=size) return NULL;

if(data[i]==NULL) data[i]=new T;

return data[i]; }

template <class T,int size> void SArray<T,size>::Del(int i)

{ if(i<0||i>=size) return;

if(data[i]==NULL) return;

delete [] data[i]; }

void main()

{ SArray<int,10> a; // int

*a[0]=500; *a[1]=98; *a[2]=17; //

a.Del(0); a.Del(1); a.Del(2); } //

//----------------------------------------------------------------------------

//3.

//1.

//7. .

template <class T,int size> class SArray

{ private:

T *data[size];

public:

SArray();

~SArray();

T* operator[](int i); };

template <class T,int size> SArray<T,size>::SArray()

{ for(int k=0;k<size;k++) data[k]=NULL; }

template <class T,int size> SArray<T,size>::~SArray()

{ for(int k=0;k<size;k++) if(data[k]!=NULL) delete data[k]; }

template <class T,int size> T* SArray<T,size>::operator[](int i)

{ if(i<0||i>=size) return NULL;

if(data[i]==NULL) data[i]=new T;

return data[i]; }

void main()

{ SArray<int,10> a; // int

*a[4]=6; *a[6]=7; *a[1]=2; //

int i=*a[4]; i=*a[6]; i=*a[1]; } //

//----------------------------------------------------------------------------

//3.

//2.

//1. .

template <class T,int size> class SArray

{ private:

T data[size];

public:

SArray();

void operator+(T &q);

T& operator[](int i);};

template <class T,int size> SArray<T,size>::SArray()

{ for(int k=0;k<size;k++) data[k]=0; }

template <class T,int size> void SArray<T,size>::operator+(T &q)

{ for(int k=0;k<size&&data[k]!=0;k++);

if(k==size) return; //

for(;k>0&&data[k-1]>q;k--) data[k]=data[k-1]; //

data[k]=q; } //

template <class T,int size> T& SArray<T,size>::operator[](int i)

{ if(i<0||i>=size) return data[0]; //

//

return data[i]; }

void main()

{ SArray<int,10> a; // int

a+5; a+25; a+15; //

int k=a[1]; } // 15

//----------------------------------------------------------------------------

//3.

//2.

//2. ".

template <class T,int size> class SArray

{ private:

T data[size];

public:

SArray();

T& Min();

T& operator[](int i);};

template <class T,int size> SArray<T,size>::SArray()

{ for(int k=0;k<size;k++) data[k]=0; }

template <class T,int size> T& SArray<T,size>::Min()

{ int tmp=0;

for(int k=1;k<size;k++)

if(data[k]<data[tmp]) tmp=k; //

return data[tmp]; }

template <class T,int size> T& SArray<T,size>::operator[](int i)

{ if(i<0||i>=size) return data[0]; //

//

return data[i]; }

void main()

{ SArray<int

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 


Copyright © 2005—2007 «RefStore.Ru»