Hello all....I can't seem to figure out why the min value won't display correctly. Could someone please critique my program with out actually giving me the code.

I am so happy that I finally got my loop to work! I've been working on this all evening. It is a great satisfaction when you get something to actually work!

Here is what I came up with:

# include <iostream>
using std::cout;    //program uses cout
using std::cin; //program uses cin
using std::endl;    //program uses endl

//function main begins program execution
int main ( )
{
     int a;     //number of values in set inputed by user
     int b;     //number inputed by user
     int c;     //counter
     int max=0; //highest vaule
     int min=0; //lowest value

//processing phase
//get input from user
cout << "Enter the number of values in the set: ";   //prompt for input
cin >> a;                                          //read number from user

for ( c=1; c <= a; c++ ) {

cout << "Enter a number: ";              //prompt for input
cin >> b;                      //read number from user

     if (b <= max)
        min = b;

     if (b > max)
       max = b;
}   

cout << "The maximum value is: " << max << " ";
cout << "The minimum value is: " << min << " " <<endl;

return 0;   //indicates that program ended successfully

}   //end function main

Recommended Answers

All 7 Replies

if (b <= max)
          min = b;

Perhaps you should compare the current min.

int max=0;	//highest vaule
 int min=0; //lowest value

You would probably want to initialize both to the first element in the list or else set the max to the lowest int value (INT_MIN) and the min to the highest int value (INT_MAX).

That makes more sense than what I had down. Thank you!

I tried followed the program (after corrections) via paper and it seems to work but, when I run the program on the computer it is still not comming up with the correct results.

Here is the prog again with the corrections

# include <iostream>
using std::cout;    //program uses cout
using std::cin;     //program uses cin
using std::endl;    //program uses endl

//function main begins program execution
int main ( )
{
   int a;       //number of values in set inputed by user
   int b;       //number inputed by user
   int c;       //counter
   int max; //highest vaule
   int min; //lowest value

   //initialization phase
   max = b; 
   min = b; 

   //processing phase
   //get input from user
   cout << "Enter the number of values in the set: "; //prompt for input
   cin >> a;                      //read number from user

   for ( c=1; c <= a; c++ ) {

   cout << "Enter a number: ";                   //prompt for imput
   cin >> b;                       //read number from user

   if (b > max)
      max = b;

   if (b < min)
      min = b;
   }        
cout << "The maximum value is: " << max << "\n";
cout << "The minimum value is: " << min << " " <<endl;


return 0;   //indicates that program ended successfully

}   //end function main

Why don't you try out this instead?

# include <iostream>
using std::cout;    //program uses cout
using std::cin;     //program uses cin
using std::endl;    //program uses endl

//function main begins program execution
int main ( )
{
   int a;       //number of values in set inputed by user
   int b;       //number inputed by user
   int c;       //counter
   int max; //highest vaule
   int min; //lowest value 

   //processing phase
   //get input from user
   cout << "Enter the number of values in the set: "; //prompt for input
   cin >> a;                      //read number from user

   // this number is used as the starting variable considered as max value
   cout << "Enter a number: ";                   //prompt for imput
   cin >> b;                       //read number from user

   max=b;
   min=b;

   int d; // create a new variable

   for ( c=1; c < a; c++ ) {

   cout << "Enter another number: ";
   cin >> d;

   if(d > max)      // if the num > max, then num is bigger
      max = d;

   else if (d < min)     // if the second num < min, then num is smaller
      min = d;
   }        

cout << "The maximum value is: " << max << "\n";
cout << "The minimum value is: " << min << " " <<endl;


return 0;   //indicates that program ended successfully

}   //end function main

I tried followed the program (after corrections) via paper and it seems to work but, when I run the program on the computer it is still not comming up with the correct results.

Let's try this "on paper".

You declare 5 integer variables, but none are initialized to any value -- so their values are completely random.

# include <iostream>
     using std::cout;	//program uses cout
     using std::cin;		//program uses cin
     using std::endl;	//program uses endl
     
    //function main begins program execution
     int main ( )
     {
        int a;		//number of values in set inputed by user
        int b;		//number inputed by user
        int c;		//counter
        int max;	//highest vaule
 int min;	//lowest value

You initialize max and min to the unitialized value of b. So your max and min values are still random values, but both are the same random value that b had when the program started.

//initialization phase
        max = b; 
        min = b;
//processing phase
        //get input from user
        cout << "Enter the number of values in the set: "; //prompt for input
 cin >> a;				 //read number from user
   
    for ( c=1; c <= a; c++ ) {

Now you finally get a value for b.

cout << "Enter a number: "; 	 //prompt for imput
 cin >> b;			 	 //read number from user

Then you are comparing the value entered for b with whatever random values min and max were when the program started. Maybe this will work, maybe not.

if (b > max)
           max = b;
     			
        if (b < min)
           min = b;
}  		
     cout << "The maximum value is: " << max << "\n";
     cout << "The minimum value is: " << min << " " <<endl;
     	
     
     return 0;	//indicates that program ended successfully
     
 }	//end function main

Here is another way to do this.

#include <climits> // for INT_MIN, INT_MAX
  #include <iostream>
  using std::cout;
  using std::cin;
  using std::endl;
  
  int main()
  {
     int size;  // number of values in set inputed by user
     int value; // number inputed by user
     int i;	 // counter
     int high = INT_MIN;  //highest value
     int low  = INT_MAX;  //lowest value
  
     cout << "Enter the number of values in the set: ";
     cin  >> size;
  
     for ( i = 0; i < size; i++ )
     {
  	  cout << "Enter a number: ";
  	  cin  >> value;
  
  	  if(value > high)
  	  {
  		 high = value;
  	  }
  	  if(value < low)
  	  {
  		 low = value;
  	  }
     }
     cout << "The maximum value is: " << high << "\n";
     cout << "The minimum value is: " << low  << endl;
     return 0;
  }
  
  /* my output
  Enter the number of values in the set: 5
  Enter a number: -4
  Enter a number: 9
  Enter a number: 15
  Enter a number: 2
  Enter a number: -1
  The maximum value is: 15
  The minimum value is: -4
  */

<climits> is a new header file for me. we have only used <iostream> so far. my instructor refers to a std library occasionally; is this part of my software (i'm using microsoft visual c++ 6.0 intro edition)? Is that where I pull up headers to use?

I am going to keep playing with statements and headers and see what kind of monster I can create....lol

Thanks for your help guys!
PS
Out of curiosity...how long did it take for yall to learn C++? Did you learn it from a class or on your own?

<climits> is a new header file for me. we have only used <iostream> so far. my instructor refers to a std library occasionally; is this part of my software

Like <iostream>, <climits> is part of the standard library. Others are listed here (click on the paws if you get the "Limited Access Notice" page).

(i'm using microsoft visual c++ 6.0 intro edition)

My condolences. :p

Out of curiosity...how long did it take for yall to learn C++? Did you learn it from a class or on your own?

I'm still trying to learn on my own.

How do you delete posts

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.