arctica112
Новичок
Доброго времени суток, уважаемые программисты.
Имеется задача и код, который, к сожалению, работает неправильно.
Формулировка задачи:
"С использованием функций написать программу, которая возвращает ссылку в массиве из символов на последний символ, отличный от буквы латинского алфавита".
То, что накодилось с горем пополам:
Проблема заключается в том, что результат выдается через раз (либо правильный ответ (цифра), либо почему-то "-1").
Очень прошу объяснить, что не так с кодом и как правильно всё это реализовать.
Заранее извиняюсь за глупые вопросы и абсолютное неумение кодить.
Имеется задача и код, который, к сожалению, работает неправильно.
Формулировка задачи:
"С использованием функций написать программу, которая возвращает ссылку в массиве из символов на последний символ, отличный от буквы латинского алфавита".
То, что накодилось с горем пополам:
PHP:
$array_symb = range ('a','z'); //создали массив из букв латинского алфавита
$array_num = range (0,9); //создали массив из чисел
$arr = array_merge($array_symb,$array_num); //объединили массивы
shuffle($arr); //и перемешали
//print_r($arr);
function &last_one () { //создали функцию, возвращающую ссылку на последний отличный от буквы элемент массива
global $arr;
global $array_symb;
global $array_num;
$len_mass = count ($arr);
$i = $len_mass;
while ($i>0) { //организовываем цикл, проверяющий наличие элементов в массиве букв или чисел
$found_last = $arr[$len_mass-1];
if (in_array($found_last,$array_symb)) {
$found_last=$found_last - 1;
$i--;
}
else if (in_array($found_last,$array_num)) {
break; }
}
return $found_last;
}
$last_elem = &last_one();
echo $last_elem;
Очень прошу объяснить, что не так с кодом и как правильно всё это реализовать.
Заранее извиняюсь за глупые вопросы и абсолютное неумение кодить.