Valarray son sinfi va uning funksiyalari. Yaqin orada C++ da massiv elementlari bilan ishlash va samarali saqlash uchun Valarray konteyneri paydo bo‘ldi. Bu hamma C++ standartlarida bo‘lmasligi ham mumkin.
Bu sinf massiv element indekslari bo‘yicha birlashtrish operatorlari va elementlararo matematik amallarni bajaradi.
Vektor bilan solishtirganda Valarray sinf matematik amallarni bajarishda samaraliroq hisoblanadi.
Valarray sinfning ochiq funksiyalari:
apply() – bu massiv elementlari bo‘yicha bir vaqtda o‘zgarishlarni bajaradi va yangi massiv qaytaradi.
sum() – massivdagi elementlar yig‘indisini qaytaradi.
6.2-dastur. apply () va sum () funksiyalaridan 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_one = varr.apply([](int x){return x=x+5;});
cout << "Massivning yangi qiymatllar: "; for (int &x: varr_one) cout << '\t' << x;
cout << endl;
cout << "Oldingi massiv sum() => "; cout << varr.sum() << endl;
cout << "Yangi massiv sum() => "; cout << varr_one.sum() << endl; system("pause");
return 0;
}
6.2-dastur.output
|
Massivning yangi qiymatllar: 10 30 60 90 120 Oldingi massiv sum() => 285
Yangi massiv sum() => 310
|
Min() va max() fnuksiyalari mos ravishda massiv eng kichik va eng katta elementlari qimatlarini qaytaradi.
cout << "min() => ";
cout << varr.min() << endl; cout << "max() => ";
cout << varr.max() << endl;
shift() – berilgan son qiymat bo‘yicha indeks asosida massivni surib yangi
massiv qaytaradi. Agar son musbat bo‘lsa chapga suriladi, manfiy bo‘lsa, o‘nga suriladi.
Do'stlaringiz bilan baham: |