Answer to Question #13654 in C++ for Leyk

Question #13654
Write a function that accepts an array of non-negative integers and returns the second largest integer in the array. Return -1 if there is no second largest.
1
Expert's answer
2012-08-28T12:00:07-0400
#include<iostream>

// a is the array
// n is its length
int
max2(int * a, int n)
{
int m1=a[0]; // the maximal element
// find
maximal element of the array
for (int i=1; i<n; i++)
{
if
(m1<a[i]) m1=a[i];

};
int m2=-1; // the second maximal
element
for (int i=0; i<n; i++)
{
if (m1==a[i]) continue; // skip
maximal element
if ( m2 < a[i] ) m2=a[i];
};
return
m2;
};

// test
int main()
{
int a[] =
{31,4,6,0,17,8};
std::cout << max2(a, 6) << std::endl;

return 0;
};

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

Assignment Expert
30.08.12, 14:30

You're welcome. We are glad to be helpful. If you really liked our service please press like-button beside answer field. Thank you!

leyk
28.08.12, 23:03

Thank you for the response....

Leave a comment

LATEST TUTORIALS
APPROVED BY CLIENTS