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


тізбектің соңына (соңғы элементтен кейін орналасқан элементке итератор)  қайтарады.  Екінші форма  pred



Pdf көрінісі
бет348/465
Дата23.05.2022
өлшемі3.66 Mb.
#458577
түріПрограмма
1   ...   344   345   346   347   348   349   350   351   ...   465
pavlovskaia-jogargy-dengeili

375
тізбектің соңына (соңғы элементтен кейін орналасқан элементке итератор) 
қайтарады. 
Екінші форма 
pred
предикаты арқылы функция немесе функционалдық 
объект түрінде берілген шартты қанағаттандыратын көршілес элементтерді 
та ба ды. 
Мысал (программа бүтін сан түрінде берілген жиымтың ең сол жағында 
орналасқан бірдей элементтер жұбын жəне құрылымдағы өрістер қосындысы 
тең болатын элементтер жұбын табады):
#include  
using namespace std; 
struct A{ int x, y;}; 
bool f(A &a1, A& a2){
 
return a1.x + a1.y == a2.x + a2.y;} 
int main (){
 
int m[8] = {45, 60, 60, 25, 25, 2, 13, 35};
 
cout << *(adjacent_fi nd(m, m + 8)); 
 
// Нəтижесі: 60
 
A ma[5] = {{2,4}, {3,1}, {2,2}, {1,2}, {1,2}}; 
 
cout << (*adjacent_fi nd(ma, ma + 5, f)).x << endl; 
// Нəтижесі: 3 
 return 
0;
}
count, count_if
count
алгоритмі белгілі бір мəннің тізбекке ену нұсқаларының санын 
есептеуді орындайды:
template
 typename 
iterator_traits::difference_type 
 
count(In fi rst, In last, const T& value);
Алгоритмнің бұл формасы берілген 
value 
мəнінің тізбекті контейнердегі 
енгізілулер санын анықтайды. Нəтиженің типі ретінде екі итератор арасындағы 
айырма – 
difference_type
(358 б. қараңыз) типі қабылданады.
count_if
алгоритмі тізбекте шарттың орындалу санын есептейді:
template
 typename 
iterator_traits::difference_type 
 
count_if(In fi rst, In last, Pred pred);
Алгоритмнің бұл формасы тізбекті контейнерде функция немесе 
функционалдық объект түрінде 


Достарыңызбен бөлісу:
1   ...   344   345   346   347   348   349   350   351   ...   465




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

    Басты бет