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



Pdf көрінісі
бет356/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   352   353   354   355   356   357   358   359   ...   466
Байланысты:
pavlovskaia-jogargy-dengeili

int a[N] = {1, 2, 3, 4, 5};
 
copy (a, a + N, ostream_iterator(cout, " "));
 
cout << endl;
 return 
0;
}
fi ll, fi ll_n 
fi ll 
алгоритмі 
fi rst
жəне 
last
итераторларының көмегімен анықталған 
тізбектің барлық элементтерін берілген 
value
мəніне алмастырады. 
fi ll_n
алгоритмі 
n
элементті берілген мəнге алмастыруды жүзеге асырады:
template
 void 
fi ll(For fi rst, For last, const T& value);
template
 void 
fi ll_n(Out fi rst, Size n, const T& value);
Бүтін сандардан тұратын жиымды толтыру мысалын қарастырайық:
#include  
#include  
using namespace std; 
int main(){ 
 
int a[5], i; 
 
fi ll (a, a + 5, 1);
 
for (i = 0; i < 5; i++) cout << a[i]; // 1 1 1 1 1
 
cout << endl;
 
fi ll_n (a + 2, 2, 0);
 
for (i = 0; i < 5; i++) cout << a[i]; // 1 1 0 0 1 
 
cout << endl; return 0;
}
Мұнда біздер тізімдер үшін 
fi ll (a, a + 5, 1);
сияқты өрнекті қолдана 
алмайтынымызға назар аударыңыз, өйткені тізім итераторлары үшін қосу опе-
рациясы анықталмаған. Егер толтырылатын тізбек соңына тағайындалатын 
итератор белгісіз болса, алгоритмнің екінші формасын қолдануға болады.
generate, ge nerate_n
generate
алгоритмі барлық элементтерді операция нəтижесіне алмасты-
руды орындайды. Осы арқылы контейнерді бірдей мəндермен емес, үшінші 
параметр арқылы берілген
 
функция арқылы немесе 
gen
функционалдық 
объект көмегімен есептелген мəндермен толтыруға мүмкіндік аламыз.




Достарыңызбен бөлісу:
1   ...   352   353   354   355   356   357   358   359   ...   466




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

    Басты бет