diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..8f5d37a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "files.associations": { + "format": "cpp", + "span": "cpp", + "string_span": "cpp" + } +} \ No newline at end of file diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/a.out b/CPlusPlus20ForProgrammers-master/examples/ch06/a.out new file mode 100644 index 0000000..9322b18 Binary files /dev/null and b/CPlusPlus20ForProgrammers-master/examples/ch06/a.out differ diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_01 b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_01 new file mode 100644 index 0000000..1b30213 Binary files /dev/null and b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_01 differ diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_01.cpp b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_01.cpp index d53c350..b43e941 100644 --- a/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_01.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/ch06/fig06_01.cpp @@ -1,36 +1,49 @@ // fig06_01.cpp // Initializing an array's elements to zeros and printing the array. -#include // C++20: This will be #include +//#include <../libraries/fmt/include/format.h> // C++20: This will be #include #include #include +#include +#include -int main() { - std::array values{}; // values is an array of 5 int values - - // initialize elements of array values to 0 - for (size_t i{0}; i < values.size(); ++i) { - values[i] = 0; // set element at location i to 0 - } - - std::cout << std::format("{:>7}{:>10}\n", "Element", "Value"); +template +void printArray(T& a, std::string tag){ + std::cout << "Element Value ---> "< values{}; // values is an array of 5 int values + std::array floatarray; + std::vector floatvector(20, 0); + for (size_t i{0}; i < floatarray.size(); i++) + floatarray[i] = i*i/10.0; + + // initialize elements of array values to 0 for (size_t i{0}; i < values.size(); ++i) { - std::cout << std::format("{:>7}{:>10}\n", i, values[i]); + values[i] = i*i; // set element at location i to 0 } - std::cout << std::format("\n{:>7}{:>10}\n", "Element", "Value"); - + printArray(values,"values"); + printArray(floatarray,"floatarray"); + printArray(floatvector, "floatvector"); + std::cout << "Element Value\n" << "\n"; + + floatvector.resize(5); + printArray(floatvector,"floatvector resized"); // access elements via the at member function for (size_t i{0}; i < values.size(); ++i) { - std::cout << std::format("{:>7}{:>10}\n", i, values.at(i)); + std::cout << i<7}{:>8}\n", i, values.at(i)); +/* for (auto i : values){ + std::cout << i << values.at(i)<<"\n"; } + */ // accessing an element outside the array's bounds with at - values.at(10); // throws an exception + // values.at(10); // throws an exception } /************************************************************************** diff --git a/CPlusPlus20ForProgrammers-master/examples/ch06/rfig06_01 b/CPlusPlus20ForProgrammers-master/examples/ch06/rfig06_01 new file mode 100644 index 0000000..1b30213 Binary files /dev/null and b/CPlusPlus20ForProgrammers-master/examples/ch06/rfig06_01 differ