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



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

rotate, rotate_copy


Àëãîðèòì rOtate âûïîëíяåò öèêëè÷åñêîå ïåðåìåùåíèå ýëåìåíòîâ ïîñëåäîâaòåëü- íîñòè, a rOtate_COpy — êîïèè ïîñëåäîâaòåëüíîñòè:
template
vOid rOtate(FOr first, FOr middle, FOr last); template
Out rOtate_COpy(FOr first, FOr middle, FOr last, Out result);

Ïåðåìåùåíèå âûïîëíяåòñя äî òåõ ïîð, ïîêa ýëåìåíò, ía êîòîðûé óêaçûâaåò âòî- ðîé ïaðaìåòð, íå ñòaíåò ïåðâûì â ïîñëåäîâaòåëüíîñòè. Ïåðâûé è òðåòèé ïaða- ìåòðû çaäaþò ía÷aëî è êîíåö îáðaáaòûâaåìîé ïîñëåäîâaòåëüíîñòè. Íaïðèìåð, äëя öåëî÷èñëåííîãî ìaññèâa int a[5] = {1,2,3,4,5} âûçîâ rOtate(a, a+2, a+5) ïðè- âåäåò ê òîìó, ÷òî ýëåìåíòû áóäóò ñëåäîâaòü â ïîðяäêå 34512. Åñëè ïîñëå ýòîãî âû- çâaòü rOtate(a, a+3, a+5), ìaññèâ ïðèìåò ïåðâîía÷aëüíûé âèä.




transform


Àëãîðèòì transfOrm âûïîëíяåò çaäaííóþ îïåðaöèþ íaä êaæäûì ýëåìåíòîì ïî- ñëåäîâaòåëüíîñòè. Ïåðâaя ôîðìa aëãîðèòìa âûïîëíяåò óíaðíóþ îïåðaöèþ, çaäaííóþ ôóíêöèåé èëè ôóíêöèîíaëüíûì îáúåêòîì Op, è ïîìåùaåò ðåçóëüòaò â ìåñòî, çaäaííîå èòåðaòîðîì result:
template
Out transfOrm(In first, In last, Out result, Op Op);
Âòîðaя ôîðìa aëãîðèòìa âûïîëíяåò áèíaðíóþ îïåðaöèþ íaä ïaðîé ñîîòâåòñò- âóþùèõ ýëåìåíòîâ äâóõ ïîñëåäîâaòåëüíîñòåé è ïîìåùaåò ðåçóëüòaò â ìåñòî, ça- äaííîå èòåðaòîðîì result:
template Out transfOrm(In1 first1, In1 last1,
In2 first2, Out result, BinaryOperatiOn binary_Op);
Ôóíêöèîíaëüíûé îáúåêò ìîæåò áûòü ñòaíäaðòíûì èëè çaäaííûì ïîëüçîâaòå- ëåì. Ïîëüçîâaòåëüñêèé ôóíêöèîíaëüíûé îáúåêò äîëæåí áûòü ïîòîìêîì unary_ funCtiOn èëè binary_funCtiOn (ñì. ñ. 334).

i

i
 ïðèâåäåííîì íèæå ïðèìåðå ïåðâûé âûçîâ transfOrm âûïîëíяåò ïðåîáðaçîâa- íèå ìaññèâa a ïî ôîðìóëå: ai = a 2 b 2, âòîðîé âûçîâ ìåíяåò çíaê ó ýëåìåíòîâ
ìaññèâa b ñ ïîìîùüþ ñòaíäaðòíîãî ôóíêöèîíaëüíîãî îáúåêòa negate. inClude
inClude
inClude using namespaCe std;
struCt preObr: binary_funCtiOn { dOuble OperatOr()(dOuble x, dOuble y) COnst{
returnx*x–y* y;}
};
int main(){
COnst intm= 5;
dOuble a[m] = {5, 3, 2, 3, 1},
b[m] = {1, 10, -3, 2, -4};
transfOrm(a,a+ m, b, a, preObr()); transfOrm(b,b+ m, b, negate()); int i;
fOr (i = 0; ifOr (i = 0; i

COut << endl; return 0;


}
Ðåçóëüòaò ðaáîòû ïðîãðaììû:
24 -91 -5 5 -15
-1 -103 -24



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   201   202   203   204   205   206   207   208   ...   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