Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»


remove, remove_if, remove_copy, remove_copy_if



Download 2 Mb.
bet203/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   199   200   201   202   203   204   205   206   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

remove, remove_if, remove_copy, remove_copy_if


Àëãîðèòìû ñåìåéñòâa remOve âûïîëíяþò ïåðåìåùåíèå â êîíåö ïîñëåäîâaòåëüíî- ñòè ýëåìåíòîâ ñ çaäaííûì çía÷åíèåì value èëè ïî ïðåäèêaòó pred. Ïðè ýòîì îñ- òaâøèåñя ýëåìåíòû ïåðåìåùaþòñя â ía÷aëî ïîñëåäîâaòåëüíîñòè ñ ñîõðaíåíèåì èõ îòíîñèòåëüíîãî ïîðяäêa. Àëãîðèòì âîçâðaùaåò ãðaíèöó èõ ðaçìåùåíèя. Ýëå- ìåíòû, ðañïîëîæåííûå ïîñëå ãðaíèöû, íå óäaëяþòñя, ðaçìåð ïîñëåäîâaòåëüíî- ñòè íå èçìåíяåòñя. Ôîðìû aëãîðèòìa, ñîäåðæaùèå ñëîâî COpy, ïåðåä îáðaáîòêîé êîïèðóþò ïîñëåäîâaòåëüíîñòü ía ìåñòî, çaäaííîå èòåðaòîðîì Out, è îáðaáaòûâa- þò êîïèþ ïîñëåäîâaòåëüíîñòè.
template
FOr remOve(FOr first, FOr last, COnst T& value); template
FOr remOve_if(FOr first, FOr last, Pred pred); template
Out remOve_COpy(In first, In last, Out result, COnst T& value);
template Out remOve_COpy_if(In first, In last,
Out result, Pred pred);
Ïðèìåð ïðèìåíåíèя remOve äëя óäaëåíèя ýëåìåíòîâ âåêòîða, çía÷åíèя êîòîðûõ ðaâíû 2:
inClude inClude inClude using namespaCe std; int main(){
veCtOr a; int i;
fOr (i= 0;i< 5; i++) a.push_baCk(i); fOr (i= 0;i< 5; i++) a.push_baCk(i);
fOr (i = 0; i < a.size(); i++) COut << a[i]; COut << endl;
veCtOr::iteratOr k, p = remOve(a.begin(), a.end(), 2); fOr (i = 0; i < a.size(); i++) COut << a[i];
COut << endl;
fOr (k = a.begin(); k != p; k++) COut << *k; return 0;
}

Ðåçóëüòaò ðaáîòû ïðîãðaììû:


0123401234
0134013434
01340134
Ïðèìåð ïðèìåíåíèя remOve_if ñîâìåñòíî ñ ìåòîäîì erase äëя óäaëåíèя ýëåìåí- òîâ âåêòîða, çía÷åíèя êîòîðûõ ëåæaò â ïðåäåëaõ îò 10 äî 50:
inClude inClude inClude using namespaCe std;
bOOl In_10_50 (int x) {returnx> 10 &&x< 50;} int main(){
veCtOr a; int i;
fOr (i = 1; i<10; i++) a.push_baCk(i*10);
fOr (i = 0; iveCtOr::iteratOr new_end = remOve_if(a.begin(), a.end(), In_10_50); a.erase(new_end, a.end());
fOr (i = 0; ireturn 0;
}
Ðåçóëüòaò ðaáîòû ïðîãðaììû:
10 20 30 40 50 60 70 80 90
10 50 60 70 80 90



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   199   200   201   202   203   204   205   206   ...   232




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish