c-resources/CPlusPlus20ForProgrammers-m.../examples/ch14/fig14_13.cpp

45 lines
2.1 KiB
C++
Raw Normal View History

2024-04-09 06:45:18 +00:00
// fig14_13.cpp
// Algorithms min, max and minmax.
#include <array>
#include <algorithm>
#include <iostream>
int main() {
std::cout << "Minimum of 12 and 7 is: " << std::min(12, 7)
<< "\nMaximum of 12 and 7 is: " << std::max(12, 7)
<< "\nMinimum of 'G' and 'Z' is: '" << std::min('G', 'Z') << "'"
<< "\nMaximum of 'G' and 'Z' is: '" << std::max('G', 'Z') << "'"
<< "\nMinimum of 'z' and 'Z' is: '" << std::min('z', 'Z') << "'";
// determine which argument is the min and which is the max
auto [smaller, larger]{std::minmax(12, 7)};
std::cout << "\n\nMinimum of 12 and 7 is: " << smaller
<< "\nMaximum of 12 and 7 is: " << larger;
std::array items{3, 100, 52, 77, 22, 31, 1, 98, 13, 40};
std::ostream_iterator<int> output{std::cout, " "};
std::cout << "\n\nitems: ";
std::ranges::copy(items, output);
auto [smallest, largest]{std::ranges::minmax(items)};
std::cout << "\nMinimum value in items: " << smallest
<< "\nMaximum value in items is: " << largest << "\n";
}
/**************************************************************************
* (C) Copyright 1992-2021 by Deitel & Associates, Inc. and *
* Pearson Education, Inc. All Rights Reserved. *
* *
* DISCLAIMER: The authors and publisher of this book have used their *
* best efforts in preparing the book. These efforts include the *
* development, research, and testing of the theories and programs *
* to determine their effectiveness. The authors and publisher make *
* no warranty of any kind, expressed or implied, with regard to these *
* programs or to the documentation contained in these books. The authors *
* and publisher shall not be liable in any event for incidental or *
* consequential damages in connection with, or arising out of, the *
* furnishing, performance, or use of these programs. *
**************************************************************************/