Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2017, 04:30   #1
OaO Wega
Новичок
Джуниор
 
Регистрация: 28.03.2017
Сообщений: 4
По умолчанию Помогите написать функцию авто-прокачки параметров используя цикл for

Здравствуйте! Помогите написать функцию авто-прокачки параметров используя цыкл for.
OaO Wega вне форума Ответить с цитированием
Старый 28.03.2017, 09:39   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

каких параметров, какую прокачку.... толпа телепатов думаете здесь?
покажите ваш код, объясните адекватно чт оне получается.... а если хотите чтоб просто за вас написали - тогда в раздел фриланс
ADSoft вне форума Ответить с цитированием
Старый 28.03.2017, 11:53   #3
OaO Wega
Новичок
Джуниор
 
Регистрация: 28.03.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
каких параметров, какую прокачку.... толпа телепатов думаете здесь?
покажите ваш код, объясните адекватно чт оне получается.... а если хотите чтоб просто за вас написали - тогда в раздел фриланс




вот маленький пример, ето все что я смог сделать, но он мне не подходит, по етому и обратился!
Ето я пробовал сделать без базы все..

Код:
$userBalance = 1000;
$UserServices = Array(
    'service1' => 100,
    'service2' => 500,
    'service3' => 200,
);
 
$total = array_sum($UserServices);
if ($total > $userBalance)
{
    print("Сумма сервисов <b>$total</b> (руб) больше текущего баланса <b>$userBalance</b>(руб)!");
    die();
}
 
$UserServices1 = $UserServices; // копия массива сервисов
// цикл перебора по количеству элементов
for ( $i = 0, $c = count($UserServices); $i < $c; $i++ )
{
    $max_rub = max($UserServices1); // макс сумма
     //поиск ключа по макс сумме
    $service = array_search($max_rub, $UserServices1);
    print("Списано <b>$max_rub</b> (руб) на сервис: <i>$service</i><br />");
    //удаление максимального из списка (он уже не нужен)
    unset($UserServices1[$service]);
    $userBalance-= $max_rub; // автовычитание
}
print("<hr />Ваш остаток на счету: <b>$userBalance</b> (руб)");




Обьясняю смысл задачи: Надо сделать кнопку, при нажатии на какую система подсчитает деньги у пользователя и распределит их на все бизнесы пользователя, начиная с самого большого (дорогого), до самого маленького (дешёвого).


суть авто-прокачки - покупать все, что можно на сколько хватает денег, если на пример у меня всего 1010 руб, цена первого бизнеса=10 руб, цена второго=5000, третьего=10000, то система должна купить 101 бизнес по 10 руб, а если на пример цена второго бизнеса была бы не 5000, а 500 руб, то система купила бы 2 бизнеса по 500 руб и один за 10 руб. Вот примерно такое мне нужно.


Цена бизнеса берется с базы.
Первый бизнес стоит 1 монету, второй =10, третий=100, четвертый=1000, пятый=10000 и т. д.
Прокачка бизнеса стоит первый раз 1 монету, второй =2, третий=4, четвертый=8, пятый=16 и т. д умножаем само на себя...
При каждой прокачке бизнеса в базу заносится +1 прокачка.
То есть цена прокачки: умножаем стоковый доход на сколько раз прокачан бизнес.
('.$q['dohod'].' * '.$q['raz_kach'].')
бизнесов может быть не ограниченное кол-во, но при покупке каждого бизнеса в базу идет запрос '.$user['biznes'].' + 1

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 28.03.2017 в 14:24.
OaO Wega вне форума Ответить с цитированием
Старый 28.03.2017, 12:53   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

попробуйте сначала словами алгоритм описать - а уж переложить его на язык программирования потом труда не составит ))))
ADSoft вне форума Ответить с цитированием
Старый 28.03.2017, 13:45   #5
OaO Wega
Новичок
Джуниор
 
Регистрация: 28.03.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
попробуйте сначала словами алгоритм описать - а уж переложить его на язык программирования потом труда не составит ))))
В этом то и дело, с циклом for я столкнулся впервые, по этому и не знаю, что к чему..
OaO Wega вне форума Ответить с цитированием
Старый 28.03.2017, 16:35   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от OaO Wega Посмотреть сообщение
В этом то и дело, с циклом for я столкнулся впервые, по этому и не знаю, что к чему..
Да уж, цикл for – это прям таки rocket science...
Andkorol вне форума Ответить с цитированием
Старый 28.03.2017, 22:07   #7
OaO Wega
Новичок
Джуниор
 
Регистрация: 28.03.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Да уж, цикл for – это прям таки rocket science...
Нет Простой вывод я сделаю) но такой как мне нужен, к сожелению не могу
OaO Wega вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать нерекурсивную функцию вычисления выражения, используя стек Max00766 Паскаль, Turbo Pascal, PascalABC.NET 16 03.04.2016 10:09
Написать не рекурсивную функцию, используя стек Max00766 Общие вопросы C/C++ 12 21.03.2016 06:47
Нужно написать программу используя цикл for X-rays1 Помощь студентам 8 11.12.2014 11:11
Маткад. Написать функцию, используя цикл while rinoolik Помощь студентам 1 28.04.2013 23:08