Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»


slice_array& s1 = v2[slice(0, v.size() / 10, 10)]



Pdf көрінісі
бет382/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   378   379   380   381   382   383   384   385   ...   465
Байланысты:
аибм сплюс

slice_array& s1 = v2[slice(0, v.size() / 10, 10)]; 
// 10 X 10 матрицасының бірінші бағанасын 5-ке арттыру: 
s1 += 5;
slice_array& s2 = v2[slice(0, v.size() / 10, 1)]; 
// 10 X 10 матрицаның 1-жолының əрбір элементін 2 есе арттыру: 
s2 *= 2;


408
slice_array
шаблонында күрделі меншіктеу операциялары (
+=

*=

>=
жəне т.с.с.) анықталған, мысалы:
void operator*= (const valarray&) const; 
void operator/= (const valarray&) const;
Олар 
slice_array
сілтеме жасайтын қима арқылы берілген бастапқы 
жиым элементтеріне жəне аргументке берілген əрекеттерді қолданады. Со-
нымен қатар, скалярлық мəнді меншіктеу операциясы анықталған, ол қимаға 
енетін бастапқы жиымның барлық элементтеріне меншіктеуді орындайды.
Стандартты кітапхана матрицалармен жұмыс істеуге арналған құралдарды 
бер 
мейді, бірақ қималар арқылы берілетін абстракциялардың көмегімен 
va 
lar 
 
 
ray
жиымымен кездейсоқ өлшемді матрица тəрізді жұмыс істеуге 
болады. 
Егер бір қима арқылы беруге болмайтын ішкі жиынмен жұмыс істеу керек 
болса, онда 
gslice
– жалпыланған қима шаблоны қолданылады:
class gslice{ 
 public: 
 
gslice();
 
gslice(size_t s, const valarray& len,
 
 
const valarray& d); 
size_t start() const; // бірінші элемент индексі 
 
valarray size() const; // өлшемдегі 
// элементтер саны 
 
valarray stride() const; // индекс[0], 


Достарыңызбен бөлісу:
1   ...   378   379   380   381   382   383   384   385   ...   465




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет