From db792e6fc16d20884f62fee9c25312c288baae07 Mon Sep 17 00:00:00 2001 From: davoudn Date: Tue, 7 May 2024 12:02:03 +0330 Subject: [PATCH] some changes --- .../examples/ch06/a.out | Bin 119392 -> 18960 bytes .../examples/ch06/ex01.cpp | 16 ++++++++++++++++ .../examples/ch06/fig06_12.cpp | 17 ++++++++++++----- .../examples/ch06/histogram.cpp | 4 ++-- 4 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 CPlusPlus20ForProgrammers-master/examples/ch06/ex01.cpp diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/a.out b/CPlusPlus20ForProgrammers-master/examples/ch06/a.out index f593ff9bf2e0ccc5cd8a30c5d8e2bb69fa48ae71..744cae73e3ca216ea1e986928baa043524c727b8 100755 GIT binary patch literal 18960 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 diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/ex01.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/ex01.cpp new file mode 100644 index 0000000..601f2ae --- /dev/null +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/ex01.cpp @@ -0,0 +1,16 @@ +#include +#include + +using namespace std; + +int main (){ + double matris[5][6]; + int number_of_start = 10; + for(int row_counter=1; row_counter <= number_of_start ; row_counter++){ + for(int star_counter=0; star_counter < row_counter ; star_counter++) + cout << '*'; + cout << endl; + } + + return 0; +} \ No newline at end of file diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_12.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_12.cpp index 2aa0a8f..90a9840 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_12.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_12.cpp @@ -10,6 +10,10 @@ T multiply(T x, T y) { } +auto multiply_auto(auto x, auto y) { + return x * y; +} + int multiply_int(int x, int y) { return x * y; } @@ -20,7 +24,7 @@ double f(double& x){ } template -T integrate (std::array x, F f){ +T integrate (std::array& x, F f){ T tmp{T(0)}; for (auto s: x){ tmp+= f(s); @@ -31,10 +35,11 @@ T integrate (std::array x, F f){ auto integrate_auto (auto x, auto f){ auto tmp{x[0]}; - tmp = 0.0; + for (auto s: x){ tmp+= f(s); } + tmp-=x[0]; return tmp; } @@ -43,7 +48,7 @@ typedef double (*FUNC)(double&); template -T integrate2 (std::array x, FUNC f){ +T integrate_legacy (std::array x, FUNC f){ T tmp{T(0)}; for (auto s: x){ tmp+= f(s); @@ -69,6 +74,8 @@ int main() { std::cout << "Product of integers: " << std::accumulate( std::begin(integers), std::end(integers), 1, multiply) << "\n"; + //std::cout << "Product of integers: " << std::accumulate( std::begin(integers), std::end(integers), 1, multiply_auto) << "\n"; + std::cout << "Product of integers: " << std::accumulate( integers.cbegin(), integers.cend(), 1, multiply) << "\n"; std::cout << "Product of integers with a lambda: " << std::accumulate(std::begin(integers), std::end(integers), 1, multiply_lambda) << "\n"; @@ -77,9 +84,9 @@ int main() { std::cout << "Product of integers with a lambda: " << std::accumulate(std::begin(floats), std::end(floats), 1, multiply_lambda) << "\n"; - std::cout << "Integration2 template " << integrate2(floats, f) << "\n"; + std::cout << "Integration2 template " << integrate_legacy(floats, f_lambda) << "\n"; - std::cout << "Integration full template " << integrate(floats, f_lambda) << "\n"; + std::cout << "Integration full template " << integrate(floats, f) << "\n"; std::cout << "Integration auto " << integrate_auto(floats, f_lambda) << "\n"; diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/histogram.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/histogram.cpp index d8399ea..28df1a7 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/histogram.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/histogram.cpp @@ -25,12 +25,12 @@ int main() { double lower_bound = 0; std::uniform_real_distribution randomReal{lower_bound, upper_bound}; - constexpr size_t N{10}; + constexpr size_t N{4}; double del {(upper_bound-lower_bound)/N}; std::array histogram{}; // roll die 60,000 times; use die value as frequency index - for (int roll{1}; roll <= 60'000; ++roll) { + for (int roll{1}; roll <= 6000; ++roll) { double val{ randomReal(engine)}; accumulate(histogram, val, lower_bound, upper_bound); }