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



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

generate, generate_n


Àëãîðèòì generate âûïîëíяåò çaìåíó âñåõ ýëåìåíòîâ ðåçóëüòaòîì îïåðaöèè. Ýòî ïîçâîëяåò çaïîëíèòü êîíòåéíåð íå îäèíaêîâûìè çía÷åíèяìè, a âû÷èñëåííûìè ñ ïîìîùüþ ôóíêöèè èëè ôóíêöèîíaëüíîãî îáúåêòa gen, çaäaííîãî òðåòüèì ïaða- ìåòðîì.
template vOid generate(FOr first, FOr last,
GeneratOr gen);
template
vOid generate_n(Out first, Size n, GeneratOr gen);
Ïðîñòîé ïðèìåð:
inClude inClude using namespaCe std; int f(){
statiC inti= 1; return (++i) * 3;

}
int main(){


int a[5], i; generate(a,a+ 5, f);
fOr (i = 0; i<5; i++) COut << a[i] << " "; //69 12 15 18
return 0;
}


iter_swap, swap, swap_ranges


Àëãîðèòì iter_swap âûïîëíяåò îáìåí ìåñòaìè äâóõ ýëåìåíòîâ, çaäaííûõ èòåða- òîðaìè:
template vOid iter_swap(FOr1 a, FOr2 b);
Àëãîðèòì swap âûïîëíяåò îáìåí ìåñòaìè äâóõ ýëåìåíòîâ:
template vOid swap(T& a, T& b);
Àëãîðèòì swap_ranges âûïîëíяåò îáìåí ìåñòaìè ýëåìåíòîâ â äâóõ óêaçaííûõ äèaïaçîíaõ (äëя âòîðîãî äèaïaçîía çaäaíî òîëüêî åãî ía÷aëî):
template
FOr2 swap_ranges(FOr1 first1, FOr1 last1, FOr2 first2);


random_shuffle


Àëãîðèòì randOm_shuffle âûïîëíяåò ïåðåìåùåíèå (ïåðåòañîâêó) ýëåìåíòîâ â ñî- îòâåòñòâèè ñî ñëó÷aéíûì ðaâíîìåðíûì ðañïðåäåëåíèåì. Òðåòüèì ïaðaìåòðîì aëãîðèòìa ìîæíî çaäaòü ãåíåðaòîð ñëó÷aéíûõ ÷èñåë. Ýòî ïîçâîëяåò ïîëó÷aòü ðaçíûå ðåçóëüòaòû ïðè êaæäîì çaïóñêå ïðîãðaììû. Ãåíåðaòîð ìîæåò áûòü ôóíê- öèåé èëè ôóíêöèîíaëüíûì îáúåêòîì, ïîëó÷aþùèì aðãóìåíò n òèïa int è âîçâða- ùaþùèì öåëîå ÷èñëî â äèaïaçîíå îò 0 äî n.
template
vOid randOm_shuffle(Ran first, Ran last); template
vOid randOm_shuffle(Ran first, Ran last, RandOmNumberGeneratOr& rand);
 ïðèìåðå â ãåíåðaòîðå èñïîëüçîâaía ôóíêöèя rand, îáúяâëåííaя â çaãîëîâî÷íîì ôaéëå :
inClude inClude inClude using namespaCe std; struCt randOm_gen{
randOm_gen(){srand((unsigned int)time(NULL)); } int OperatOr()(int n){return rand() % n;}
};
int main(){

int a[5] = {1, 2, 3, 4, 5}, i;


randOm_shuffle(a,a+ 5, randOm_gen());
fOr (i= 0;i< 5; i++) COut << a[i] << " "; //53412
COut << endl; return 0;
}



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   198   199   200   201   202   203   204   205   ...   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