Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 11
1

PHP. Функция, возвращающая ссылку в массиве

08.04.2015, 22:45. Показов 984. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, уважаемые программисты, кодеры и все, кто может помочь с довольно простой задачей.

Формулировка имеющейся задачи:
"С использованием функций написать программу, которая возвращает ссылку в массиве из символов на последний символ, отличный от буквы латинского алфавита".

Имеющийся код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    $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;
Проблема заключается в том, что результат выдается через раз.
Очень прошу объяснить, что не так с кодом и как правильно всё это реализовать.
Заранее извиняюсь за глупые вопросы и абсолютное неумение кодить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2015, 22:45
Ответы с готовыми решениями:

Функция, возвращающая ссылку
Помогите исправить функцию, которая возвращает ссылку на массив size_t Crd() { size_t...

Функция возвращающая ссылку
Так делать не правильно, но попытался написать код: int& func(int &x) { return &x; } В...

Функция, возвращающая ссылку на вектор
В классе есть приватный вектор, такого плана vector<vector<struct>> Vector1; Нужно написать...

Функция, возвращающая ссылку на static
Задание такое: написать функцию f1,которая содержит локальную статическую переменную k,возводит ее...

1
171 / 153 / 67
Регистрация: 11.02.2015
Сообщений: 450
09.04.2015, 07:34 2
Нужно проверить еще тип аргументов. Иначе можно получить такие резельтаты
PHP
1
2
echo in_array(0,range('a','z')).'<br/>';
echo in_array('a',range(0,9)).'<br/>';
0
09.04.2015, 07:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2015, 07:34
Помогаю со студенческими работами здесь

Чисто виртуальная функция возвращающая ссылку
Добрый вечер. Скажите, почему не работает такая вот конструкция в абстрактном классе: int&amp;...

Функция возвращающая абсолютное разницу первого и второго параметров и функция типа int, возвращающая минимальное из трех целых чисел
Разработать заданные согласно условия функции и сделать в главной программе по два вызова этих...

Функция, возвращающая количество простых чисел в массиве
Ребят помогите разобраться. заданеие ***Написать функцию, возвращающую количество простых чисел в...

Функция, определяющая наличие повторяющихся строк в массиве и возвращающая их номера
Требуется написать функцию, определяющую наличие повторяющихся строк в массиве и возвращающую их...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru