From 9dea40c1d454ae570df6931288eaa19a40218f77 Mon Sep 17 00:00:00 2001 From: Anton Date: Tue, 12 Mar 2019 23:43:41 +0300 Subject: [PATCH] homework_01 --- homework/Savchenko/01/Timer.hpp | 31 ++++++++++++++++++++++++++ homework/Savchenko/01/sum_by_col | Bin 0 -> 16496 bytes homework/Savchenko/01/sum_by_col.cpp | 27 ++++++++++++++++++++++ homework/Savchenko/01/sum_by_rows | Bin 0 -> 15280 bytes homework/Savchenko/01/sum_by_rows.cpp | 27 ++++++++++++++++++++++ 5 files changed, 85 insertions(+) create mode 100644 homework/Savchenko/01/Timer.hpp create mode 100755 homework/Savchenko/01/sum_by_col create mode 100644 homework/Savchenko/01/sum_by_col.cpp create mode 100755 homework/Savchenko/01/sum_by_rows create mode 100644 homework/Savchenko/01/sum_by_rows.cpp diff --git a/homework/Savchenko/01/Timer.hpp b/homework/Savchenko/01/Timer.hpp new file mode 100644 index 0000000..ea2c1f5 --- /dev/null +++ b/homework/Savchenko/01/Timer.hpp @@ -0,0 +1,31 @@ + +#ifndef sum_by_rows_hpp +#define sum_by_rows_hpp + +#include +#include + +class Timer +{ + using clock_t = std::chrono::high_resolution_clock; + using microseconds = std::chrono::microseconds; +public: + Timer() + : start_(clock_t::now()) + { + } + + ~Timer() + { + const auto finish = clock_t::now(); + const auto us = + std::chrono::duration_cast + (finish - start_).count(); + std::cout << us << " us" << std::endl; + } + +private: + const clock_t::time_point start_; +}; + +#endif /* sum_by_rows_hpp */ diff --git a/homework/Savchenko/01/sum_by_col b/homework/Savchenko/01/sum_by_col new file mode 100755 index 0000000000000000000000000000000000000000..1677a439211e0be2dbe2460cee767f33e7f6eab0 GIT binary patch literal 16496 zcmeHO4RBo5b$%<^AoI5}p{W}JECjbEP>}o=IRqlbdgQ5=se+`|{5Vgm_1fC9`a#+? za#EEQ^6Tj7@yJfcn=y@@h)f}B3PJ545HrY#*hMPs6p@(*mnKD%0)3is6HR6cBBiL` zckbKO?pjW;nRGfG-O;`0o^#JV_uO;O{e7!fe(@h4oUdttQcX*hXqr}zm|m@ER_bcx zH0`$#4MfvysQIFPmww0ZlUf)8h3K*v6BwKrOq+)qbd{W6f;&Wv2Y=tsk-jaTl zXSPM-UD0kZ70WZOQ1X7_3m{Ir=fY|F?TbXrXm2Fil`s?G)?#@#T&d($_=7;aKweI; z%9v)PC(#}2*yq!W<=u0Yl9#m^@%&IM+cc9M_s2T+n6Zw%onS1M*W$}N_L08@a2fE&O#T8RinTDE9fHE@pQ zI>hmuEO7x~=w!7od)5*81Cs$;GIL*FTwI)kM9mSEq<|vk zA}BE2i3a4oH&H%i)gw#JDa-J4{S(Y76_Zj@n=4^Xm3#puzVb%ICEbYqo#+>s27w}+ z%LYp`ly6JwSmY92n3?0%qpEx}>Bd`q|cI(7i@B>Dk?UkSf zo1mZMF#1n$RCXWtZe0u0U${4TRjsDUcnzE?H|)Lz!|7Y_zKU(l7&uYB`}p$Z&a&kp zuk-^L&$;FKk7=6ylJ^MqFvGnChfx`PNS~+l#pe0Sci;`4J&!g*yN{=Re@P2t-#C~M z&o`WE&#>P!0xuf&&e@mrH!d)omwA1iilfuH1EAmx~&h( zAP?zpz!<}jvoNT?YdFp5=0?NWUllyo_paS{#IRqhb##Day4HRP<>|#A4C-H-yAc}M zuR_eUz4L_O_RV-dhFB4awx+#KV8IJTmFASUo=uWzoEfKYbV&bN@YuX}K%wLC*j@~r z)RI2hRu>1-Ucj)h^Sh5PKOVH4w_8b>H|+D((Coc2c-2AFQsY3TY z!(&gRWi%A9C)$8{>qN*cm*WIxxNa92+zgd6++@0D+{1j-?HB9aObclB?$KW1I64bZ z?~W}9n3xgp*hv9T9u{B?1E7N~1gBHD_GiKxm(RT)Fh#(8t!XrhT-WV9F{3;E+He7NCL@I7eB4N);s9)&{|jh6o%* zbc85Pvi1U`gMXaBQ2_2EO&)Di)d=eC=0W&p%5V^E{V*UR)XOxm<|B1j9F^O_xkn*M z$e1|Bls>E!O^(((`bfRZkK}Z{txwk5J23%~cl1e7=saL)!yXfNbrb+5D(;-Y)IwZi z*ltR+9V74_#cA1ax4e%-J0^(tjGz~iMHgW2gc~r{Z7}RI z!%UBSD3l#o2n8)((4dr87l-X!+;RND*!|oCiSo0E0w7EhVD!Y$jHRE$LRdt zr*L0`VCJ2_<|+wiS_4|nvhOH$$bi0aqX#C?=keGVB$W%8d!%( z^oQu`;7mKs55d~QcJmQn!%joUNgi4AbIeQohu-7powTJAo>^!sStxDyBIrJ6W@&jg z0tts0nhV}QI^3lk%(lfUhCes2qHw+g_`Ojxc1^BHUdL6DGr`*4r)g^(7%9UEsyXrs zv}r>N-hbj{M7TXlfR_tf{|T-XyN?%X?Y))dE@)r}sQwut(?X#i;ALc)^(X)Q^(5*P zpTGJ~&En0Wc5oWI^UQx^<#&&kixnm`0b>gw!h_}oxE@)sNdXL6Z;-Yz>$mgQL0#FpwImn&Hxe> zLEEC;by$6@X(5Paz=ow2A5^acWm1(3xLLS^595K9vQ$-9imt=4P;zrvjy3d$ROHAf zHpp*toH7R{2(;kCuPH83*5|^sB8#mS=&ajk=9PA8)uykvU=fok;ixiuYVlR$W{Z`B z2fsqOt~E+Yu3JXi+U`1nDe-P)ZAF18Rk8CliV%UgK0yq1R)qz& zzHe35tp_H=4#9^%feokfopHV&+24mchpCk#rL{xKBkY}{*e*wE2lek@V0eh7Jc zC&sC767&~9N1pq8AJ)&llYl4d?Dud&n8k?!yXr(6%0n>npb>--a0hYO4`Rvv%X~Y$P zzA8+B?QhZw47?bCfG$-oplFvC;c!y60X1-3V^mJf-xuFncBX5Bl z&I&OjW#Wc7hEQ#~hra>|0q#kc2p$|`f8d@<^d!NQoGhU$T*E(g%T9}?XM|1d$d1CM zC>o=i6;Z_=xK@e)14V!{pa69^Ka;;sS$_;JdifmRUS%OogM#glwcUxs0N%}5bmneH zxnf5K>Z_sbxfuoMuxkVx?f&%fnp(JSlXeieMTdm1;AZ2}HR#j+F6^x|{ zLU9bN#cnkV9hZfM4NAcZ53Gy@{U^9H?LLnA%|Z0;L?hW9ZvzQ@H^*B;?)={1Jx$f@ zRo8ltAtU#HyYGEFx!@$NYaNSeOS`8q<<#qAxXb3>0wF#T+$ zW$tg88)mKyQswEYt(LimNJ}yIAahSL*UQ|?%ylq#0o0n?!`$yOcNcRyb6hOjOy+K5 z4ytH#pJVQR(l#EvgO>s# z*hyCZvyX_hw}9M$5(#TjOt#MeYF8k+PSG{(HdX{80(JnQN`46R1+)NXYF>Y@rUV9N zSaFtwpCO_AF`ViG{{`glRX_Qihar^gksQDKL4EC7M3!vuaUcCsD1>iixYlsfsYc{C zW(MLZG{A4V8s6;UfWvrE{Unw<^b>7gplue(_%>Cd1*$>pD%DC`pwH-eTA%`_qlOE$ zKlvA~K2RxGe$ zffWm^SYX8hD;8L>z={P{EU;pM6$|{ox4_zKDq8rtcWt$4-gSFpVv}iBZjN*&6T0@L z?(%dVbxS01petGz(Kp8S=o(AReZ9RVe&*iO*%6M%5(muv6-k$cTZ+r8$# zWVm||xcO6E`Ki6xieHQ4r}3#7yeUZt@DpZULzR`0ws5zZ=nlscJ!r48GI}3=UXGu? zqkTOVgJMR$V#WNMqMdv7{i0#EN5w2#XS^ehzj%ZJ^J*t6PrN(cE8o;gb&PX^O-InZ$ntQ{M zXo6~1m}=m(?&<>Os#s@_i4H`!?u#Z+k*3qSTk;*Ea--^?`p<#oO@S_L3&+`TqO%*L zrt4cxj9M(Ax5LI-ciTr7SX-%d>nadcWc=mFX%j|O7d?8L5F?%mYUdB3vOXd$z5%WMzE3kq{?xCu*8Pc#9S+|wFMm|^^HNu;x*Cx%7C?2abT zo-cfI`TAQT@o2bP|060pqgWaf+c1~gV;$i{RJ{A7(9KA1*ldmNi*=ar+DIE~%r2Eg z*>aZd1&S87z2R7#73Nvc9&LxpL>Gu+o?w9iiV!gIU|eEqY^7^F$-b zL=^ue6y{R6;V$h4z7K09l@*xKW-IL28Q-tn=C8+EL#Z}%8J>J6*Wuy!oR^RH0>7r^ z?Snw^!l(_Dl&%`RS}R?Zx&|ueFSk#XoVK1nUE(j<&!JZ8de+*8WElSnf_{&dhC{>x2=C>@-}Z67pA)|UulD3m&N5q`J`f2|1r7`{#9*Efprz9O7o?(+Hh1uh@|ha&tZMfl|y zt9*Wb1IovZBK+tDjR> z<4|jxHref~whO)v#8!nZ_r!}9n zbWB_RMp|$kl~Y>*MO{#{C%EjGEmEF=5Ymav07{6aEtI(n$-3)c&%ioZG)nzeH z==P0;ZDdh(y{p8{sw=!lj>fpD<7#uJ26@li=3h%&lY7k=j=^$2%U)4=vBVX%v5J4Z w%jU*V2N@dSL?7 + +#define N 998 + +int sum_by_col() +{ + int arr[N][N]; + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + arr[i][j] = (i + j) % 100; + + Timer timer; + + int sum = 0; + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + sum += arr[j][i]; + + return sum; + +} + +int main() +{ + std::cout << sum_by_col() << std::endl; +} diff --git a/homework/Savchenko/01/sum_by_rows b/homework/Savchenko/01/sum_by_rows new file mode 100755 index 0000000000000000000000000000000000000000..26893f8a1e9838714714235a817b5518c49ba4c3 GIT binary patch literal 15280 zcmeHOdvH|M8NbUC2tv7mf@mvcu^@>L%mTsSqh=vn@5+J+3CbXF*lc!_mCf$D4@?}O z3rRX$moQt#>Db~pOw}3tn37s*)wVPtC_%J@N0ItKDyTOC8s&}3_V=B8H`%=jXqf)f zx@U6E_c-7A&Ue0Zzda}C+`Ie2iHm~;!C(}G=m0?wa*z*a2|{CZJTO7H7Fj}Oti*DU zb)j|MeZ);qhIFz|iuBZ?1IEg&3(C_)czaViPta)CCcqqlASK4auG+AQtF%tvNDKxQ zTd&e&Ko9H@CnB0kG8PI)Dni{Xy?tA+Q}xwq5=lDQAY0QnNMoq_ShdR=a0S8B>nj|q z>f5f#6HR{aPQC1N`hB6E0qgY%KT!3RBo%;88*h@YLB^__PUfn0x&mPqc2wx~m1z2| z(2)&}@jc@4RWgsy?T4V=zJR80ou-6n zy^d7<^xPFS^cqW=LpO=N|YAXC*76=C~sZVRp z^-=p|qUU2&k^sa!_6)tk z&d^+5gDg!Ggb9E}w+TW34-cs?L8ip@0FwR0CtEL-)=n3M$$eA~2hW5&4EfebD0r*a zQ*mo$owpJ+rSBt?9mZjgJ$~1|+gJSM%(l(5zhsqDz%wE9F%HL%3^L)|m&1NxxDj{` zax&#&{G_L3bdsY&>X(L2bu{LIL*h_l=&=R%IB&XXvUxI$@>Fm;3sdB?+K<93>GEZD zp|GoF@=UD>qy^yyWU{9a{v?>E(d6Gu%6K5-fs6+-9>{ngf_J7cBdf4vPR?oA}JPWQ_Bdo;IVt|+@pwQK1RxFZC=fK*f0~MS zrTT5zVq3HdG?NLJXR{Temrs6-paFYHEkK8viCfJcJh|dhl|@1O@H_| z7d@kjell^{naZ<=nzopU4Vj}{=Ka29hz%Kq%N*%jhS-of&Sj4FEkkU`ba9yv`j#O! zWKKawO0-H@GzMw)`47Ps8_O;x63Slut1Zcm3-BD^ap>TWgZXW@J7qpaALilH7Hu}; zCq@6`@f>oZcySMib#aqQw1a4f=Ys(9WV}d4o{5*J)rTSfK5x8KW$f!#Kyw4)b*_NV z51s|gj484KYo`_nl@o!lRB-!8pc|3JslD;mU_H&ub$J0SBbNP6Bhs#_( zp49lhd_2+9c8PdegQIN3lcdH|%l}+F(R3hY$m0OyQ~>fD0J#RB@6l`VL<3iTjfFsp z-L(NxBOg+nIL4CXHYsM5VgW@m9I`k4sRUwn`K*#hb+Li~B#9iw$!vbKFUdO+rG*yx zRYWO?E4QH1B5pk+$?qv=DPjRntC3rT_G;uRk>TbRL@veVgO(+T-5a#-H7y@$EuRJy zhl=BbWIWd&&ynOWlvb+0$tblPT$PwUgLzMgqq|aN0JlLluq8C9xTc_T^D6Za)G#fatiBx9|j>;|cPLIRuNXyqu?!n4Z( z#i2C6Phru->X@=V>it_dN8WCeciZHz<}{uV8?HjrVtLMA?eaM(ugey*Pq@ZvJ|pF| z+Qs`mljQl&N%B4^@1)fD_NuFGF)PC0Q%Qa+QL(Ju8-{U=gJ^R&3bjL|0miH8GN$uGY#XX)5%vyYRfO#&>>0w^2|GgA zR>E@O)Xpu0Jw(`V2z!>WO@tjL?B|3HgZ|ESgyj*ohA@h(&RW9O5#}T88Nw&BQVrb{3T718w5jP1 zt>#`pLlFwn#uIR)?(x3MNfd-&$12Puf#b+QWS&fs5N>P)0awc0?-Kxt&eiDg!hq5} z3$jX0CNR*?Qh*}lzf%LGrO0%TM0c_#Tzahlq)WSIz@@mbD#Bf;5v*atAl#ktnKhPx zVZ!>?H5iO+!LW1)?-GT9y6$&6q}^Xj8l0!WMH+N#FrdLlHQ1oR^%{IagTKfs6+-9>{ngo{pTp}3*RkdKLbMCVrCPI*=n1dlJDkgyvw9h; zia3Im=!D+L%n{#d%Gn<{&jvxyM9iDIqUbR}M2HoRP2# zU#&PO#-=Ycn-LhSqK;uSq2QXo@Qy(pgF6g4ht(708*$F~14ERb zOVYvO42|x>IVI6_3QYBMUP<)x8cpYxMAJRoa2&xVzdtF|XgcGh`g=8+&N_)+q|tQd zNigoKH>L;sw)p+1PQfaE<$%PU`H(jrzU)Iqlb@UXq zad&&4j(%E4AJoyEI@$nBRTerznxv!e($ULx^adUMG^e9bsixoR=;w9vujpvHPDr)q zxJsi`(?uOU0`m>|?)qzWG+q+o=lOJDIUJcz&}sHYAk&ficaiCeWehUi7U8kt->cAf z8gx94<6rs|N-!Z`kNiVqq#}9_=+g^4Cj3_5zuk{XzyhQT7sh(W6yxEhUwLTF{RV4J zidgsWP|s>Zwd%UnuXU!s&AL~Z{x;ODEmzo_|19^nEniQrpiwQ&YWi-dhmpP!>fv8* zu}P6iS!H^--P8KbmX|&ncCRa_OJ7jH;5#Hh+L&RVrC(SyR?mt8Mj!jNv>h5>VA441 zo-Mi9^xC(T&C}6=qmr-T*zuyTODQJ3Gql}X zMa0cKu*MPg2W?61(^c(dg$#dWM)!nT(W!9HtXV1FTzXyRUYsetIMaG@3h*2DAHu{A AhyVZp literal 0 HcmV?d00001 diff --git a/homework/Savchenko/01/sum_by_rows.cpp b/homework/Savchenko/01/sum_by_rows.cpp new file mode 100644 index 0000000..3b2ddec --- /dev/null +++ b/homework/Savchenko/01/sum_by_rows.cpp @@ -0,0 +1,27 @@ +#include "Timer.hpp" +#include + +#define N 998 + +int sum_by_rows() +{ + int arr[N][N]; + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + arr[i][j] = (i + j) % 100; + + Timer timer; + + int sum = 0; + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + sum += arr[i][j]; + + return sum; + +} + +int main() +{ + std::cout << sum_by_rows() << std::endl; +}