Tiplarni dinamik tarzda aniqlash. Reja: Tiplarni dinamik tarzda aniqlash




Download 0,81 Mb.
bet59/143
Sana20.07.2024
Hajmi0,81 Mb.
#268096
1   ...   55   56   57   58   59   60   61   62   ...   143
Bog'liq
Tiplarni dinamik tarzda-fayllar.org

cshift() - berilgan son qiymat bo‘yicha indeks asosida massivni aylana shaklida surib yangi massiv qaytaradi. Agar son musbat bo‘lsa chapga suriladi, manfiy bo‘lsa, o‘nga suriladi.
6.3-dastur. shift() va cshift()dan foydalanish.

#include "stdafx.h" #include #include using namespace std; int main(){


int myints[] = { 5, 25, 55, 85, 115 };
valarray varr (myints, sizeof(myints)/sizeof(myints[0])); valarray varr_one, varr_two;
cout << "Massivning eski qiymatllar: ";
for (int &x: varr_one) cout << '\t' << x; cout << endl;
varr_one = varr.shift(-2);

cout << "Massivning shift(-2) qiymatllar: "; for (int &x: varr_one) cout << '\t' << x;


cout << endl;
varr_one = varr.shift(2);

cout << "Massivning shift(2) qiymatllar: "; for (int &x: varr_one) cout << '\t' << x;


cout << endl;
varr_one = varr.cshift(2);

cout << "Massivning cshift(2) qiymatllar: "; for (int &x: varr_one) cout << '\t' << x;


cout << endl;

varr_one = varr.cshift(-2);

cout << "Massivning cshift(-2) qiymatllar: "; for (int &x: varr_one) cout << '\t' << x;
cout << endl;

system("pause"); return 0;


}

6.3-dastur.output


Massivning eski qiymatllar:


Massivning shift(-2) qiymatllar: 0 0 5 25 55
Massivning shift(2) qiymatllar: 55 85 115 0 0
Massivning cshift(2) qiymatllar: 55 85 115 5 25
Massivning cshift(-2) qiymatllar: 85 115 5 25 55

Valarray ning standart amallari

valarray operator+() const; valarray operator-() const; valarray operator~() const;


valarray operator!() const;


Valarray tiplari ustida amallar:

valarray& operator*= (const valarray& rhs); valarray& operator/= (const valarray& rhs); valarray& operator%= (const valarray& rhs);


valarray& operator+= (const valarray& rhs);

valarray& operator-= (const valarray& rhs); valarray& operator^= (const valarray& rhs); valarray& operator&= (const valarray& rhs); valarray& operator|= (const valarray& rhs); valarray& operator<<= (const valarray& rhs);


valarray& operator>>= (const valarray& rhs);


Valarray tipi va odatiy oddiy tiplar ustida amallar:

valarray& operator*= (const T& val); valarray& operator/= (const T& val); valarray& operator%= (const T& val); valarray& operator+= (const T& val); valarray& operator-= (const T& val); valarray& operator^= (const T& val); valarray& operator&= (const T& val); valarray& operator|= (const T& val); valarray& operator<<= (const T& val);


valarray& operator>>= (const T& val);


Yuqorida keltirilgan operatorilar Valarray sinfining funksiyalari hisoblandi.
Valarray tiplari bilan bajariladigan amallarni qayta aniqlash mumkin. Bunda birinchi amal Valarray tipi = Valarray tipi * Valarray tipi, ikkinchi amal Valarray tipi = oddiy tip * Valarray tipi, uchinchi tip Valarray tipi = Valarray tipi* oddiy tip ketma ketligi asosida aniqlangan.
[*] - amalini qayta aniqlash:

template valarray operator* (const valarray& lhs, const valarray& rhs);


template valarray operator* (const T& val, const valarray& rhs);


template valarray operator* (const valarray& lhs, const T& val);




Download 0,81 Mb.
1   ...   55   56   57   58   59   60   61   62   ...   143




Download 0,81 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Tiplarni dinamik tarzda aniqlash. Reja: Tiplarni dinamik tarzda aniqlash

Download 0,81 Mb.