Question: Define a Rectangle class that provides getLength and getWidth. Using the findMax routines like in the Figure below, write a main that creates an array

Define a Rectangle class that provides getLength and getWidth. Using the findMax routines like in the Figure below, write a main that creates an array of Rectangle and finds the largest Rectangle first on the basis of area and then on the basis of perimeter.

1 // Generic findMax, with a function object, C++ style.

2 // Precondition: a.size( ) > 0.

3 template

4 const Object & findMax( const vector & arr, Comparator isLessThan )

5 {

6 int maxIndex = 0;

7

8 for(inti=1;i

9 if( isLessThan( arr[ maxIndex ], arr[ i ] ) )

10 maxIndex = i;

11

12 return arr[ maxIndex ];

13 }

14

15 // Generic findMax, using default ordering.

16 #include

17 template

18 const Object & findMax( const vector & arr )

19 {

20 return findMax( arr, less{ } );

21 }

22

23 class CaseInsensitiveCompare

24 {

25 public:

26 bool operator( )( const string & lhs, const string & rhs ) const

27 { return strcasecmp( lhs.c_str( ), rhs.c_str( ) ) < 0; }

28 };

29

30 int main( )

31 {

32 vector arr = { "ZEBRA", "alligator", "crocodile" };

33 34 cout << findMax( arr, CaseInsensitiveCompare{ } ) << endl;

35 cout << findMax( arr ) << endl;

36 37 return 0; 38 }

---------------------------

output shoud be something like:

Largest rectangle with area R[10 20] Largest rectangle with perimeter is R[10 20]

---------------------------------------------------

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!