Given a sequence of numbers (positive & negative), how can you find the second highest number in a single loop?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
using namespace std; | |
int main() | |
{ | |
int numbers[] = {11,21,13,41,9,10,29,2,12,0,12}; | |
int highest = numbers[0]; | |
int second_highest = numbers[1]; | |
if (highest < second_highest) { // if all numbers are positive then u can do int second_highest = 0; | |
int temp = highest; | |
highest = second_highest; | |
second_highest = temp; | |
} | |
for (int i = 1; i <11; i++) { | |
if (numbers[i] >= highest) { | |
second_highest = highest; | |
highest = numbers[i]; | |
} else if (numbers[i] >= second_highest) { | |
second_highest = numbers[i]; | |
} | |
} | |
cout<<"The second highest number is : "<<second_highest<<endl; | |
return 0; | |
} |
Comments
Post a Comment