Finding the lowest number in C

Discussion in 'C' started by The Foolish One, Oct 3, 2006.

  1. The Foolish One

    The Foolish One New Member

    Joined:
    Oct 3, 2006
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Sorry if I do/say something stupid this is my first post here.

    I have a function that is passed 6 variables and I want to write some code to figure out which one has the lowest value. This is what I have so far:
    Code:
    int LeastInStore(int pup, int kitn, int bird, int snk, int fish, int bun)
    {
    	int lowest = 0;
    	int i;
    	int quantityOfPets[7];
    	char petType[20];
    	int lowestpet =0;
    
    	for(i=0; i<7; i++) quantityOfPets[i]=NULL; //initializing the array to NULL
    
    		quantityOfPets[1] = pup;
    		quantityOfPets[2] = kitn;
    		quantityOfPets[3] = bird;
    		quantityOfPets[4] = snk;
    		quantityOfPets[5] = fish;
    		quantityOfPets[6] = bun;
    
    		for(i = 1; i<6; i++){
    			if(quantityOfPets[i] < quantityOfPets[i+1])
    				if(lowest > quantityOfPets[i]){
    				   lowest = quantityOfPets[i];
    				}
    		}
    		
    	return lowest;
    }
    I know there is something fundamentally wrong with this (or I missed something that is throwing everything off) because I get really odd returns from trying to run this. Any ideas on what I am doing wrong? Or better yet how I can do it right?
     
    Last edited by a moderator: Oct 3, 2006
  2. shabbir

    shabbir Administrator Staff Member

    Joined:
    Jul 12, 2004
    Messages:
    15,375
    Likes Received:
    388
    Trophy Points:
    83
    You have posted the query as an article in the Article / Source code section. I have moved it to the Queries and discussion forum.

    No you have not messed the stuff its just one logical error.

    lowest should be initialized to one of the element rather than 0
    Code:
    lowest = quantityOfPets[1];
    Also loop till all the elements and not till <6
    Code:
    for(i = 1; i<7; i++)
     
  3. The Foolish One

    The Foolish One New Member

    Joined:
    Oct 3, 2006
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    shabbir: Thanks for moving it, I don't know why/how I posted it there :)

    And thanks for the help, looping through 6 of the 7 items was a holdover from before I initialized the Array, I wanted to "make sure" that I didn't get some wacked out value in there. It's overall effect was completely unnoticed by me because of the second thing you corrected.

    Changing that out of place 0 to one of the values that I am actually testing for worked like a charm. Not quite sure why I put 0 in there in the first place. Anyways thanks for the help, everything (well at least this function) is working now.
     
  4. shabbir

    shabbir Administrator Staff Member

    Joined:
    Jul 12, 2004
    Messages:
    15,375
    Likes Received:
    388
    Trophy Points:
    83
    My pleasure.
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice