Write a program that reads integers, finds the largest of them, and counts its occurrences. Assume that the input ends with number 0. Suppose that you entered 3 5 2 5 5 5 0; the program finds that the largest is 5 and the occurrence count for 5 is 4.
(Hint: Maintain two variables, max and count. max stores the current max number, and count stores its occurrences. Initially, assign the first number to max and 1 to count. Compare each subsequent number with max. If the number is greater than max, assign it to max and reset count to 1. If the number is equal
to max, increment count by 1.)
Sample Output:
Enter numbers: 3 5 2 5 5 5 0
The largest number is 5.
The occurrence count of the largest number is 4.
Solution:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int max=0,count,currentnum;
do{
cout<<"Please enter a number (press 0 to end): ";
cin>>currentnum;
if(currentnum>max)
{
max = currentnum;
count = 1;
}
else if(currentnum==max)
{
count++;
}
} while(currentnum!=0);
if(max==0)
{
cout<<"The largest number is 0.\nThe occurrence count of the largest number is 1.";
}
else
{
cout<<"The largest number is "<<max<<".\nThe occurrence count of the largest number is "<<count<<".\n";
}
return 0;
}