General Fizz
Боевой Генерал :)
- Регистрация
- 11 Апр 2007
- Сообщения
- 754
- Реакции
- 428
- Автор темы
- #1
Задача вроде бы и простая, но тем не менее...
Имеется массив:
Нужно его отсортировать по строкам строка1,2,3... таким образом чтобы:
на первом месте была строка, у которой все значения среди всех пяти числовых параметров максимальны. Вторая строка после первой и так далее.
Распределенные места для примера выше:
строка2 - 3,3,2,1,4
строка1 - 4,4,1,4,1
строка3 - 1,2,3,2,1
строка6 - 2,1,4,3,3
Для данного примера правильный результат будет array('строка3', 'строка6', 'строка2', 'строка1'). Строка6 стоит выше строки2 потому что при одинаковом распределении мест (одно первое, одно второе два третьих и одно четвертое) у строки6 в параметре [0] место второе, а у строки2 третье.
Числовые значения возвращать не нужно, достаточно только отсортированные строки.
Строк может быть много, числовых параметров только пять, большинство из них могут быть нулями, но не все.
Похожая задача - отсортировать страны по количеству полученных медалей на Олимпийских Играх в соотвтетствии с их достоинством, то есть на первом месте страна с наибольшим количеством золотых медалей, потом серебрянных и бронзовых, только в данном случае числовых параметров (достоинств медалей) не 3, а 5.
Имеется массив:
PHP:
$mas=array(
'строка2' => array( 712, 32, 15, 74, 1),
'строка1' => array( 525, 0, 83, 4, 75),
'строка3' => array(6855, 267, 3, 14, 75),
'строка6' => array(1235, 7545, 0, 7, 2)
...
);
Нужно его отсортировать по строкам строка1,2,3... таким образом чтобы:
на первом месте была строка, у которой все значения среди всех пяти числовых параметров максимальны. Вторая строка после первой и так далее.
Распределенные места для примера выше:
строка2 - 3,3,2,1,4
строка1 - 4,4,1,4,1
строка3 - 1,2,3,2,1
строка6 - 2,1,4,3,3
Для данного примера правильный результат будет array('строка3', 'строка6', 'строка2', 'строка1'). Строка6 стоит выше строки2 потому что при одинаковом распределении мест (одно первое, одно второе два третьих и одно четвертое) у строки6 в параметре [0] место второе, а у строки2 третье.
Числовые значения возвращать не нужно, достаточно только отсортированные строки.
Строк может быть много, числовых параметров только пять, большинство из них могут быть нулями, но не все.
Похожая задача - отсортировать страны по количеству полученных медалей на Олимпийских Играх в соотвтетствии с их достоинством, то есть на первом месте страна с наибольшим количеством золотых медалей, потом серебрянных и бронзовых, только в данном случае числовых параметров (достоинств медалей) не 3, а 5.