Задача №6 Вывод нечётных цифр числа

Задача из списка

<?php
/*Дано некоторое число длиной от 1 до 5 символов, вывести все его "нечётные" цифры в 
обратном порядке (аналогично предыдущей задаче), если же таких цифр не найдёт, 
вывести сообщение "Нечетных цифр не обнаружено!"*/
echo "Задача №6" . "<br>";
function ShowEvenNumbers($number){
    $numberLenght = strlen($number);
    $numbers = array();
    $flag = false;
    $counter = 0;
    if($numberLenght > 5){
        $numbers[0] = "The number is too big!";
        return $numbers;    
    }else{
        while($number >= 1){
            if ( ($number % 10) % 2  ){
                $numbers[$counter] = $number % 10;
                $counter++;
                $flag = true;
            } 
            $number /= 10;
        }
        if(!$flag){
            $numbers[0] = "Нечетных цифр не обнаружено!";
        }
        return $numbers;
    }
}
$arr = ShowEvenNumbers(12345);
foreach($arr as $number){
    echo $number . "<br>";
}
?>

Key Words for FKN + antitotal forum (CS VSU):

vedro-compota's picture

В комментариях добавьте решение с правкой -- вынесите код, определяющий является ли число четным или нет в отдельную функцию.

_____________
матфак вгу и остальная классика =)

Voronve's picture

<?php
/*Дано некоторое число длиной от 1 до 5 символов, вывести все его "нечётные" цифры в 
обратном порядке (аналогично предыдущей задаче), если же таких цифр не найдёт, 
вывести сообщение "Нечетных цифр не обнаружено!"*/
echo "Задача №6" . "<br>";
function ShowEvenNumbers($number)
{
    $numberLenght = strlen($number);
    $numbers = array();
    $flag = false;
    $counter = 0;
    if($numberLenght > 5){
        $numbers[0] = "The number is too big!";
        return $numbers;    
    }else{
        while($number >= 1){
            if ( GetEvenNumbers($number) ){
                $numbers[$counter] = $number % 10;
                $counter++;
                $flag = true;
            } 
            $number /= 10;
        }
        if(!$flag){
            $numbers[0] = "Нечетных цифр не обнаружено!";
        }
        return $numbers;
    }
}
function GetEvenNumbers($number)
{
    if ( ($number % 10) % 2  ){
        return true;
    }else{
        return false;
    }
}
$arr = ShowEvenNumbers(84693);
foreach($arr as $number){
    echo $number . "<br>";
}
?>
vedro-compota's picture

хорошо. засчитано.

_____________
матфак вгу и остальная классика =)