Skip to main content
Fix a bug if the largest odd int is negative
Source Link

You can do this without storing the inputs and looping through them afterwards. You only need to remember whether or not an odd number was entered and which one is the largest. My Python is weak so I'll use pseudocode:

var hasUserEnteredOddNumber = false
var largestOddNumber = 0

for(var i = 0; i < 10; i++)
{
    var input = ReadIntFromConsole()
    if(input mod 2 == 1)
    {
        if(hasUserEnteredOddNumber)
 = true
          largestOddNumber = max(largestOddNumber, input)
        else
            largestOddNumber = input
        hasUserEnteredOddNumber = true
    }
}

if(hasUserEnteredOddNumber)
    Print("The largest odd number was " & largestOddNumber)
else
    Print("No odd number was entered")

You'll need a ReadIntFromConsole function. It'll be something like this:

function int ReadIntFromConsole()
{
    while(true)
    {
        string input = ReadFromConsole()
        if(input is an integer)
            return ConvertToInt(input)
        print("That was not an integer")
    }
}

You can do this without storing the inputs and looping through them afterwards. You only need to remember whether or not an odd number was entered and which one is the largest. My Python is weak so I'll use pseudocode:

var hasUserEnteredOddNumber = false
var largestOddNumber = 0

for(var i = 0; i < 10; i++)
{
    var input = ReadIntFromConsole()
    if(input mod 2 == 1)
    {
        hasUserEnteredOddNumber = true
        largestOddNumber = max(largestOddNumber, input)
    }
}

if(hasUserEnteredOddNumber)
    Print("The largest odd number was " & largestOddNumber)
else
    Print("No odd number was entered")

You'll need a ReadIntFromConsole function. It'll be something like this:

function int ReadIntFromConsole()
{
    while(true)
    {
        string input = ReadFromConsole()
        if(input is an integer)
            return ConvertToInt(input)
        print("That was not an integer")
    }
}

You can do this without storing the inputs and looping through them afterwards. You only need to remember whether or not an odd number was entered and which one is the largest. My Python is weak so I'll use pseudocode:

var hasUserEnteredOddNumber = false
var largestOddNumber = 0

for(var i = 0; i < 10; i++)
{
    var input = ReadIntFromConsole()
    if(input mod 2 == 1)
    {
        if(hasUserEnteredOddNumber)
            largestOddNumber = max(largestOddNumber, input)
        else
            largestOddNumber = input
        hasUserEnteredOddNumber = true
    }
}

if(hasUserEnteredOddNumber)
    Print("The largest odd number was " & largestOddNumber)
else
    Print("No odd number was entered")

You'll need a ReadIntFromConsole function. It'll be something like this:

function int ReadIntFromConsole()
{
    while(true)
    {
        string input = ReadFromConsole()
        if(input is an integer)
            return ConvertToInt(input)
        print("That was not an integer")
    }
}
Source Link

You can do this without storing the inputs and looping through them afterwards. You only need to remember whether or not an odd number was entered and which one is the largest. My Python is weak so I'll use pseudocode:

var hasUserEnteredOddNumber = false
var largestOddNumber = 0

for(var i = 0; i < 10; i++)
{
    var input = ReadIntFromConsole()
    if(input mod 2 == 1)
    {
        hasUserEnteredOddNumber = true
        largestOddNumber = max(largestOddNumber, input)
    }
}

if(hasUserEnteredOddNumber)
    Print("The largest odd number was " & largestOddNumber)
else
    Print("No odd number was entered")

You'll need a ReadIntFromConsole function. It'll be something like this:

function int ReadIntFromConsole()
{
    while(true)
    {
        string input = ReadFromConsole()
        if(input is an integer)
            return ConvertToInt(input)
        print("That was not an integer")
    }
}