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


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



Pdf көрінісі
бет383/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   379   380   381   382   383   384   385   386   ...   466
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   ...   379   380   381   382   383   384   385   386   ...   466




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

    Басты бет