From 1196fe88f9d3f8ace720b97835b4e585529a7061 Mon Sep 17 00:00:00 2001 From: davoudn Date: Tue, 16 Apr 2024 09:33:08 +0330 Subject: [PATCH] ch06 samples codes were modified --- .../examples/ch06/a.out | Bin 41800 -> 17792 bytes .../examples/ch06/fig06_03.cpp | 31 +++++++++++++----- .../examples/ch06/fig06_04.cpp | 3 +- .../examples/ch06/fig06_05.cpp | 2 +- .../examples/ch06/fig06_06.cpp | 5 ++- .../examples/ch06/fig06_07.cpp | 8 ++--- .../examples/ch06/fig06_08.cpp | 7 ++-- .../examples/ch06/fig06_11.cpp | 6 ++-- .../examples/ch06/fig06_12.cpp | 22 +++++++++---- 9 files changed, 52 insertions(+), 32 deletions(-) mode change 100644 => 100755 CPlusPlus20ForProgrammers-master/examples/ch06/a.out diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/a.out b/CPlusPlus20ForProgrammers-master/examples/ch06/a.out old mode 100644 new mode 100755 index 9322b1887c7310b9a5f2045b07834ea0423729d5..8c7e7736fe6ee8f565417c7e52402b23b3791394 GIT binary patch literal 17792 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 literal 41800 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≻rIlY3_J8#~+ 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�h|ilP&9u*DJKi3lB) zodOAN7Y_U3nu{XM!Mdi18Lh8cpG?42!G;3sqN%M>$lx5rg46EX{0s2Sy4Hxly0+Bx z&zIv5j<*;8YY_j@Z7J$G4!oAeKy1U2)MRMQ45I=WLeLt!{pE4qWwB^;RSfn)Xeg!s zkn&H@k=I+GxO9;;*2#MGsN=;mrTVfqfsBG-+jmnZTdZ}MeRU{Hfn%9Z4z*&~k>`tB zwx@B0%+{2way_BG23?>`e!nt~Ko$wc(CE~rwF?oB;Vmu|AqQAsB3%3ZS@azpZ!6Ho zVkof31{yfXQQZr1)jIQhb`>PhojLx8SI2xMe!mv`Mrp*EtwDNV&4#wNEdPV-z$bws{$UeSuBYet(; zjj$w)#xa@3YQLRT_@;| znL%}%5sSoP@wSMp8*gIBriKrim`8;g9gVG=5`ETeXm2-LB8gvyPTi3ibigvGwBwJ%}isj4AGTQS+Khw8J)EJybt&9T;5~ z?GSack)LGA;O(!8Wz2-tOb88bqJu{gaxWD7KOz{AbGm9+Mx(C1@hW$bXp)u@5XM@z zU{t~UMQmKrG(_%RS#CI1uV7b%(^UQ*R2=gjOjRQZ zxl!ygJCPkjPT8sLdA2Afi)}(O*7RyZ?_8i{%xcYs8208xgs0v2F|2A0zhWm$4I9+s z!kIoreaNK;i6*l~L@@x+1f9lFKlFv>m^hZ2HFATJTG(xC-QJg_DLxzPWZh3p@b&tY>u_(k#ftWrR#dtnNKZ&J3b9+Dc^gg-=fBYEMn2PuM=u&XHOj@7B zt6v{L0s8R};CJS~ z8T7y49dcEF^`5y8e2ak@ z)qDJsTgp)P1aHM3y(6#ktM}p+T+hr(f5oTZ9iY=Y_bRR4yH~J}^OOFhr_!I%MmKJ# ziYmYQ9)N;gb{JK@%CGAG5a(aU0@e2l6ja|sp!|6BYn89^e-St;LdiG0NYLdKpLioB z^K!QTBOvSfyJETH}CYzS^m#K)bkJ5N^S+WQ0LSxXZde{rsrR8N@fL*YI*6_S^i&vqj#w| zY+3K+cQg^V-QF@~`>)a?7lqTiNh-hk9?%}nulU^Z(~-X9`zpVBfBs=rKHHD_FI`HW z@}I8(NA*|v)%SoNZzgX1CLj^DOXXK^D(HHCql1}SBvk!WiBS1e`eI}zoGQPvLsF)y z{EqS~CE5D?0GD54VdRa<&#$>yR3%P_4i^)=0WQCwNM@z?2JuRhWj|G~iNGn{C8zwX f?vU_B3R>Ew%2g=5mX|gExu2CBS2!{_lE(i7)}0~& diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_03.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_03.cpp index ecee7df..3c17f87 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_03.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_03.cpp @@ -1,35 +1,50 @@ // fig06_03.cpp // Using range-based for. -#include #include #include int main() { std::array items{1, 2, 3, 4, 5}; // type inferred as array + std::array items2{1, 2, 3, 4, 5}; // display items before modification std::cout << "items before modification: "; for (const int& item : items) { // item is a reference to a const int - std::cout << std::format("{} ", item); + std::cout << item << "<-- items\n"; } + std::cout << "items2 before modification:\n"; + for (const int& item : items) { // item is a reference to a const int + std::cout << item << "<-- items2\n"; + } + // multiply the elements of items by 2 for (int& item : items) { // item is a reference to an int item *= 2; } - // display items after modification - std::cout << "\nitems after modification: "; - for (const int& item : items) { - std::cout << std::format("{} ", item); + for (int item : items2) { // item is a reference to an int + item *= 2; } + // display items after modification + std::cout << "\nitems after modification: \n "; + for (const int& item : items) { + std::cout << item << "<-- items\n"; + } + + // display items after modification + std::cout << "\nitems2 after modification:\n "; + for (const int& item : items2) { + std::cout << item << "<-- items2\n"; + } + + // sum elements of items using range-based for with initialization std::cout << "\n\ncalculating a running total of items' values:\n"; for (int runningTotal{0}; const int& item : items) { runningTotal += item; - std::cout << std::format("item: {}; running total: {}\n", - item, runningTotal); + std::cout << " running total "<< item << runningTotal<<"\n"; } } diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_04.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_04.cpp index e0d5460..6653c4a 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_04.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_04.cpp @@ -1,6 +1,5 @@ // fig06_04.cpp // Set array values to the even integers from 2 to 10. -#include #include #include @@ -16,7 +15,7 @@ int main() { // output contents of array values in tabular format for (const int& value : values) { - std::cout << fmt::format("{} ", value); + std::cout << value << "\n"; } std::cout << '\n'; diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_05.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_05.cpp index fc1300d..f30eda2 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_05.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_05.cpp @@ -13,7 +13,7 @@ int main() { total += item; } - std::cout << fmt::format("Total of array elements: {}\n", total); + std::cout << "Total of array elements: " << total); } diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_06.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_06.cpp index 65c7811..d9fb96f 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_06.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_06.cpp @@ -13,11 +13,10 @@ int main() { for (int i{0}; const int& frequency : frequencies) { // output bar labels ("00-09:", ..., "90-99:", "100:") if (i < 10) { - std::cout << std::format("{:03d}-{:03d}: ", - i * 100, (i * 100) + 9); + std::cout << i * 100 << " " << (i * 100) + 9 << "\n"; } else { - std::cout << std::format("{:>7d}: ", 100); + std::cout << 100 << "\n"; } ++i; diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_07.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_07.cpp index 67f8134..77540c1 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_07.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_07.cpp @@ -1,6 +1,6 @@ // fig06_07.cpp // Die-rolling program using an array instead of switch. -#include // C++20: This will be #include +//#include // C++20: This will be #include #include #include #include @@ -9,7 +9,7 @@ int main() { // set up random-number generation std::random_device rd; // used to seed the default_random_engine std::default_random_engine engine{rd()}; // rd() produces a seed - std::uniform_int_distribution randomDie{1, 6}; + std::uniform_int_distribution randomDie{0, 6}; constexpr size_t arraySize{7}; // ignore element zero std::array frequency{}; // initialize to 0s @@ -19,11 +19,11 @@ int main() { ++frequency.at(randomDie(engine)); } - std::cout << std::format("{}{:>13}\n", "Face", "Frequency"); + std::cout << "Face " << " Frequency \n"; // output each array element's value for (size_t face{1}; face < frequency.size(); ++face) { - std::cout << std::format("{:>4}{:>13}\n", face, frequency.at(face)); + std::cout << face << " " << frequency.at(face) << "\n"; } } diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_08.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_08.cpp index 65a6563..d81577d 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_08.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_08.cpp @@ -1,6 +1,6 @@ // fig06_08.cpp // Poll analysis program. -#include // C++20: This will be #include +//#include // C++20: This will be #include #include #include @@ -19,12 +19,11 @@ int main() { ++frequency[response];//.at(response); } - std::cout << std::format("{}{:>12}\n", "Rating", "Frequency"); + std::cout << "Rating Frequency \n"; // output each array element's value for (size_t rating{1}; rating < frequency.size(); ++rating) { - std::cout << std::format("{:>6}{:>12}\n", - rating, frequency.at(rating)); + std::cout << rating << " " << frequency.at(rating) << "\n"; } } diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_11.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_11.cpp index 821da21..fa30f3f 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_11.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_11.cpp @@ -1,14 +1,14 @@ // fig06_11.cpp // Compute the sum of the elements of an array using accumulate. #include -#include #include #include int main() { constexpr std::array integers{10, 20, 30, 40}; - std::cout << fmt::format("Total of array elements: {}\n", - std::accumulate(std::begin(integers), std::end(integers), 0)); + std::cout << "Total of array elements "<< std::accumulate(std::begin(integers), std::end(integers), 0) <<"\n"; + std::cout << "Total of array elements "<< std::accumulate(integers.cbegin(), integers.cend(), 0) <<"\n"; + std::cout << "1 to 2 of array elements "<< std::accumulate(&integers[1], &integers[3], 0) <<"\n"; } /************************************************************************** diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_12.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_12.cpp index 526b721..12effbd 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_12.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_12.cpp @@ -1,24 +1,32 @@ // fig06_12.cpp // Compute the product of an array's elements using accumulate. #include -#include #include #include -int multiply(int x, int y) { +template +T multiply(T x, T y) { return x * y; } + +int multiply_int(int x, int y) { + return x * y; +} + + int main() { constexpr std::array integers{1, 2, 3, 4, 5}; + constexpr std::array floats {1.0, 2.0, 3.0, 4.0, 5.0}; auto multiply_lambda = [](const auto& x, const auto& y) {return x * y; }; - std::cout << std::format("Product of integers: {}\n", std::accumulate( - std::begin(integers), std::end(integers), 1, multiply)); + std::cout << "Product of integers: " << std::accumulate( std::begin(integers), std::end(integers), 1, multiply) << "\n"; - std::cout << std::format("Product of integers with a lambda: {}\n", - std::accumulate(std::begin(integers), std::end(integers), 1, - multiply_lambda)); + std::cout << "Product of integers with a lambda: " << std::accumulate(std::begin(integers), std::end(integers), 1, multiply_lambda) << "\n"; + + std::cout << "Product of integers with a lambda: " << std::accumulate(std::begin(floats), std::end(floats), 1, multiply_int) << "\n"; + + std::cout << "Product of integers with a lambda: " << std::accumulate(std::begin(floats), std::end(floats), 1, multiply_lambda) << "\n"; }