Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Формула для распределение учеников

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
pantela
Отправлено: 13 Января, 2018 - 14:35:13
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Надо написать формулу для расчёта %.
Задача разбить количество учеников по классам исходя из % количество мест в классе.

Имеется количество учеников: $amount = 1400;

Имеется массив классов где:
procent - % распределения
class_name - название класса
prio - приоритет

% количество свободного места c, по которым надо расспределеить $amount.


Впервую очередь, считаеться % наивысшего класса т.е. Класс №З? т.е. у него procent "60":

Класс №З: 1400 * 60 / 100 = 840a

Остаток: 1400-840=560

Далее остаток считается по приоритету "prio" сначало 1, потом 2...:
- Класс №А
- Класс №Б
- Класс №Г
- Класс №Д

И под конец весь остаток в "Класс №В".
+
Может быть так что "Класс №В", вобще ничего не досталось бы, если 100% уже было-бы расспределенно.

Один уже решил: https://repl[dot]it/@AlanTuring/Sing[dot][dot][dot]ellishedCardinal

Хоть тяжко, но... + на хосте кричит на $GLOBALS["a"], как его заменить..?

Спс

(Отредактировано автором: 15 Января, 2018 - 02:31:14)

 
 Top
Строитель
Отправлено: 15 Января, 2018 - 08:07:00
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




pantela пишет:
на хосте кричит на $GLOBALS["a"], как его заменить..?
Я не видел контекста его использования, но заменить можно на один из вариантов:
global $a;
use($a)
или передавать параметром.
 
 Top
pantela
Отправлено: 18 Января, 2018 - 12:01:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Обновил ссылку
CODE (htmlphp):
скопировать код в буфер обмена
  1. https://repl.it/@AlanTuring/SingleEmbellishedCardinal
 
 Top
Строитель
Отправлено: 20 Января, 2018 - 03:04:42
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




pantela, не знаю, правильно ли я понял - вот мой пример:
Спойлер (Отобразить)

(Отредактировано автором: 20 Января, 2018 - 03:05:51)

 
 Top
pantela
Отправлено: 23 Января, 2018 - 10:58:27
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Так а причём тут остаток вобще? Он может быть только если сумма всех % не будет 100, а в данном случае: 60+10+10+10+5+5=100 Однако
А если, было бы 110%, тогда исходя из значения prio, значение расспределилось бы.

Всё очень просто имеется значение, её надо разбить по %.

(Отредактировано автором: 23 Января, 2018 - 11:08:45)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB