fork download
  1. //Diego Martinez CSC5 Chapter 7, P.487, #1
  2. /*******************************************************************************
  3. * DISPLAY TWO LARGEST EVEN NUMBERS
  4. * ______________________________________________________________________________
  5. * This program works with a collection of 15 integers provided by the user. It
  6. * focuses the two highest even values amoung them and displays them.
  7. *
  8. * Computation is based on the Formula:
  9. * n > currresnt largest
  10. * second largest < n< largest
  11. *______________________________________________________________________________
  12. * INPUT
  13. * 15 integer values entered by the user
  14. *
  15. *
  16. * OUTPUT
  17. * Largest even number
  18. * Second largest even number
  19. *******************************************************************************/
  20. #include <iostream>
  21. using namespace std;
  22.  
  23. // ===== FUNCTION PROTOTYPES =====
  24. void inputArray(int arr[], int size);
  25. void findLargestEven(int arr[], int size, int &largest, int &secondLargest);
  26. void displayResult(int largest, int secondLargest);
  27.  
  28. // ===== MAIN FUNCTION =====
  29. int main()
  30. {
  31. // ===== DATA DICTIONARY =====
  32. const int SIZE = 15; // number of elements in array
  33. int numbers[SIZE]; // array to store integers
  34. int largestEven; // largest even number
  35. int secondLargestEven; // second largest even number
  36.  
  37. // ===== FUNCTION CALLS =====
  38. inputArray(numbers, SIZE);
  39. findLargestEven(numbers, SIZE, largestEven, secondLargestEven);
  40. displayResult(largestEven, secondLargestEven);
  41.  
  42. return 0;
  43. }
  44.  
  45. // ===== FUNCTION DEFINITIONS =====
  46.  
  47. // Function to input array values
  48. void inputArray(int arr[], int size)
  49. {
  50. cout << "Enter 15 integers:\n";
  51. for (int i = 0; i < size; i++)
  52. {
  53. cin >> arr[i];
  54. }
  55. }
  56.  
  57. // Function to find largest and second largest even numbers
  58. void findLargestEven(int arr[], int size, int &largest, int &secondLargest)
  59. {
  60. largest = -1;
  61. secondLargest = -1;
  62.  
  63. for (int i = 0; i < size; i++)
  64. {
  65. if (arr[i] % 2 == 0) // check if even
  66. {
  67. if (arr[i] > largest)
  68. {
  69. secondLargest = largest;
  70. largest = arr[i];
  71. }
  72. else if (arr[i] > secondLargest && arr[i] != largest)
  73. {
  74. secondLargest = arr[i];
  75. }
  76. }
  77. }
  78. }
  79.  
  80. // Function to display results
  81. void displayResult(int largest, int secondLargest)
  82. {
  83. if (largest == -1)
  84. {
  85. cout << "No even numbers were entered.\n";
  86. }
  87. else if (secondLargest == -1)
  88. {
  89. cout << "Only one even number found: " << largest << endl;
  90. }
  91. else
  92. {
  93. cout << "Largest even number: " << largest << endl;
  94. cout << "Second largest even number: " << secondLargest << endl;
  95. }
  96. }
Success #stdin #stdout 0s 5308KB
stdin
1
5
12
4
16
87
43
98
14
56
32
76
67
78
45
stdout
Enter 15 integers:
Largest even number: 98
Second largest even number: 78