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



Download 2 Mb.
bet217/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   213   214   215   216   217   218   219   220   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

inner_product


Ïåðâaя ôîðìa aëãîðèòìa inner_prOduCt èñïîëüçóåòñя äëя âû÷èñëåíèя ñêaëяðíîãî ïðîèçâåäåíèя äâóõ ïîñëåäîâaòåëüíîñòåé (ñêaëяðíûì ïðîèçâåäåíèåì ïîñëåäîâa- òåëüíîñòåé a è b яâëяåòñя âûðaæåíèå ai*bi). Ía÷aëüíîå çía÷åíèå ïðîèçâåäåíèя çaäaåòñя òðåòüèì ïaðaìåòðîì. Òèï ýòîãî ïaðaìåòða îïðåäåëяåò òèï ðåçóëüòaòa (ôóíêöèя âîçâðaùaåò âû÷èñëåííîå ïðîèçâåäåíèå):
template t
T inner_prOduCt(In1 first1, In1 last1, In2 first2, T init);
Âòîðaя ôîðìa aëãîðèòìa inner_prOduCt èñïîëüçóåòñя äëя âûïîëíåíèя íaä äâóìя ïîñëåäîâaòåëüíîñòяìè äåéñòâèé, çaäaííûõ ñ ïîìîùüþ äâóõ ôóíêöèé èëè ôóíê- öèîíaëüíûõ îáúåêòîâ. Ïåðâûé èñïîëüçóåòñя âìåñòî îïåðaöèè ñëîæåíèя, âòî- ðîé — âìåñòî óìíîæåíèя:
template tClass BinOp1, Class BinOp2>
T inner_prOduCt(In1 first1, In1 last1, In2 first2,
T init, BinOp1 binary_Op1, BinOp2 binary_Op2);
Cëåäóþùèé âûçîâ âû÷èñëяåò ïðîèçâåäåíèå ñóìì ñîîòâåòñòâóþùèõ ýëåìåíòîâ ïîñëåäîâaòåëüíîñòåé a è b:
COut << inner_prOduCt(a,a+ m, b, mul, multiplies(), plus());


partial_sum


Àëãîðèòì partial_sum ôîðìèðóåò ïîñëåäîâaòåëüíîñòè èç ÷añòè÷íûõ ñóìì ýëå- ìåíòîâ. Íaïðèìåð, äëя ïîñëåäîâaòåëüíîñòè ÷èñåë 3 1 2 3 5 ðåçóëüòaòîì áóäåò 3 4 6 9 14, òî åñòü êaæäûé ýëåìåíò ðåçóëüòaòa ðaâåí ïðåäûäóùåìó ýëåìåíòó, óâå- ëè÷åííîìó ía òåêóùèé ýëåìåíò èñõîäíîé ïîñëåäîâaòåëüíîñòè.
Âìåñòî ñóììû ÷åòâåðòûì ïaðaìåòðîì ìîæíî çaäaòü äðóãóþ îïåðaöèþ. Ðåçóëüòaò ìîæíî ïîìåñòèòü è â èñõîäíóþ ïîñëåäîâaòåëüíîñòü, äëя ýòîãî òðåòüèì ïaðaìåò-

ðîì óêaçûâaåòñя èòåðaòîð ía åå ía÷aëî. Ôóíêöèя âîçâðaùaåò èòåðaòîð ía ýëå- ìåíò, ñëåäóþùèé ça êîíöîì ðåçóëüòèðóþùåé ïîñëåäîâaòåëüíîñòè.


template t
Out partial_sum(In first, In last, Out result); template t
Out partial_sum(In first, In last, Out result, BinOp binary_Op);


adjacent_difference


Àëãîðèòì adjaCent_differenCe âûïîëíяåò âû÷èñëåíèå ðaçíîñòè ìåæäó ñìåæíûìè ýëåìåíòaìè, òî åñòü di = ai – ai—1. Âìåñòî ðaçíîñòè ÷åòâåðòûì ïaðaìåòðîì ìîæíî çaäaòü äðóãóþ îïåðaöèþ. Ôóíêöèя âîçâðaùaåò èòåðaòîð ía ýëåìåíò, ñëåäóþùèé ça êîíöîì ðåçóëüòèðóþùåé ïîñëåäîâaòåëüíîñòè.
template t
Out adjaCent_differenCe(In first, In last, Out result); template t
Out adjaCent_differenCe(In first, In last, Out result, BinOp binary_Op);
Ýòîò aëãîðèòì яâëяåòñя îáðaòíûì ïðåäûäóùåìó, òî åñòü âûçîâ äëя îäíîé è òîé æå ïîñëåäîâaòåëüíîñòè ñía÷aëa îäíîãî, a ïîòîì äðóãîãî aëãîðèòìa ïðèâåäåò ê èñõîäíîé ïîñëåäîâaòåëüíîñòè.



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   213   214   215   216   217   218   219   220   ...   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