Captain Fizz
Новичок
Отсортировать страны по количеству медалей в соответствии с достоинством
Чтобы было более наглядно, сформулирую задачу таким образом.
На Олимпийских Играх 2030 года в Бобруйске страны-участники завоевали следующее количество медалей:
Или если представить по-другому:
Требуется расставить все страны по максимальному количеству медалей всех проб одновременно, в убывающем порядке. В случае одинакового количества медалей приоритет имеет проба медали.
Например из двух стран - Китай(84, 22, 0, 41, 0) и Зимбабве(18, 6, 14, 13, 8), Китай должен стоять выше, поскольку он по количеству серебрянных и оловянных медалей имеет первые места, а Зимбабве имеет первое место только по количеству бронзовых медалей.
Если же допустим у Китая(0, 22, 0, 41, 0), а у Зимбабве(0, 22, 0, 41, 8), то выше должна стоять Зимбабве, поскольку Зимбабве стоит выше Китая по количеству деревянных медалей.
Занимаемые странами места по количеству медалей одной пробы в соответствии с массивом $medals:
То есть задача состоит в том, чтобы отсортировать массив $medals по убывающей в соответствии с критериями выше.
Чтобы было более наглядно, сформулирую задачу таким образом.
На Олимпийских Играх 2030 года в Бобруйске страны-участники завоевали следующее количество медалей:
PHP:
Белоруссия - золотых - 2, серебрянных - 3, бронзовых - 1, оловянных - 15, деревянных - 88;
Украина - золотых - 54, серебрянных - 0, бронзовых - 8, оловянных - 1, деревянных - 7;
Китай - золотых - 84, серебрянных - 22, бронзовых - 0, оловянных - 41, деревянных - 0;
США - золотых - 41, серебрянных - 10, бронзовых - 0, оловянных - 0, деревянных - 17;
Зимбабве - золотых - 18, серебрянных - 6, бронзовых - 14, оловянных - 13, деревянных - 8;
Северная Корея - золотых - 0, серебрянных - 5, бронзовых - 0, оловянных - 22, деревянных - 12;
Казахстан - золотых - 25, серебрянных - 0, бронзовых - 8, оловянных - 15, деревянных - 0;
Россия - золотых - 98, серебрянных - 3, бронзовых - 7, оловянных - 2, деревянных - 10;
Или если представить по-другому:
PHP:
$medals=array(
'Белоруссия' => array( 2, 3, 1, 15, 88),
'Украина' => array(54, 0, 8, 1, 7),
'Китай' => array(84, 22, 0, 41, 0),
'США' => array(41, 10, 0, 0, 17),
'Зимбабве' => array(18, 6, 14, 13, 8),
'Северная Корея' => array( 0, 5, 0, 22, 12),
'Казахстан' => array(25, 0, 8, 15, 0),
'Россия' => array(98, 3, 7, 2, 10)
);
Требуется расставить все страны по максимальному количеству медалей всех проб одновременно, в убывающем порядке. В случае одинакового количества медалей приоритет имеет проба медали.
Например из двух стран - Китай(84, 22, 0, 41, 0) и Зимбабве(18, 6, 14, 13, 8), Китай должен стоять выше, поскольку он по количеству серебрянных и оловянных медалей имеет первые места, а Зимбабве имеет первое место только по количеству бронзовых медалей.
Если же допустим у Китая(0, 22, 0, 41, 0), а у Зимбабве(0, 22, 0, 41, 8), то выше должна стоять Зимбабве, поскольку Зимбабве стоит выше Китая по количеству деревянных медалей.
Занимаемые странами места по количеству медалей одной пробы в соответствии с массивом $medals:
PHP:
$medals_positons=array(
'Белоруссия' => array( 7, 5, 5, 3, 1),
'Украина' => array( 3, 7, 2, 7, 6),
'Китай' => array( 2, 1, 6, 1, 7),
'США' => array( 4, 2, 6, 8, 2),
'Зимбабве' => array( 6, 3, 1, 5, 5),
'Северная Корея' => array( 8, 4, 6, 2, 3),
'Казахстан' => array( 5, 7, 2, 3, 7),
'Россия' => array( 1, 5, 4, 6, 4)
);
То есть задача состоит в том, чтобы отсортировать массив $medals по убывающей в соответствии с критериями выше.