INTERNET
 :
  |    

/

, . /

++.

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

SArray<int,10> a; // int

a[0]=5; a[1]=3; a[2]=7; //

int k=a.Min(); } // 3

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

//3.

//2.

//3. ( ).

template <class T,int size> class SArray

{ private:

T data[size];

public:

SArray();

void Sort();

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>::Sort()

{ for(int i=0;i<size-1;i++)

for(int j=i+1;j<size;j++)

if(data[j]<data[i]) //

{ T tmp=data[j]; data[j]=data[i]; data[i]=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,10> a; // int

a[1]=15; a[4]=9; a[3]=17; //

a.Sort(); //

int i=a[0],j=a[1],k=a[2]; } //

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

//3.

//2.

//4. "-

template <class T,int size> class SArray

{ private:

T data[size];

public:

SArray();

T& FindBin(T &key);

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>::FindBin(T& key)

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

while(a<=b)

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

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

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

else b=m-1; } //

return data[m]; } //

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[0]=5; a[1]=9; a[2]=17; //

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

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

//3.

//2.

//5. .

template <class T,int size> class SArray

{ private:

T data[size];

public:

SArray();

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>::operator[](int i)

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

//

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.

//6. () .

template <class T,int size> class SArray

{ private:

T data[size];

public:

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]=0; }

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

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

//

return data[i]; }

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

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

data[i]=0; }

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.

//2.

//7. .

template <class T,int size> class SArray

{ private:

T data[size];

public:

SArray();

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>::operator[](int i)

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

//

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]; } //

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

//4.

//1.

//1. .

template <class T> class DArray

{ private:

T **data;

int size;

public:

DArray(int _size);

~DArray();

void operator+(T *q);

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

template <class T> DArray<T>::DArray(int _size)

{ size=_size;

data=(T**) new char[sizeof(T*)*size];

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

template <class T> DArray<T>::~DArray()

{ delete data; }

template <class T> void DArray<T>::operator+(T *q)

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

if(k==size) return; //

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

data[k]=q; } //

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


Copyright © 2005—2007 «RefStore.Ru»