Работа с массивами

Практические задания

Краткое содержание лекции | Теоретические задания

Double cola

Упростите решение своей задачи с предыдущего урока, используя "новые" знания.

Оценки

Условие

Вася, а точнее Василий Петрович, — декан одного из факультетов в местном университете. После сессии в его руки попал журнал успеваемости одной из групп.

Всего в этой группе учатся n студентов, а оценки ставились по m предметам. Каждый из студентов по каждому из предметов получил оценку от 1 до 9 включительно.

Назовем студента лучшим по некоторому предмету, если нет студента, который получил оценку выше по этому предмету. Назовем студента успешным, если существует предмет, по которому он лучший.

Ваша задача — найти успешных студентов в группе.

Вам дан двумерный массив со списоком студентов и их успеваемости.

Макет

Запустить файл можно командой php marks.php.

(marks.php) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
//массив исходных данных
$basicData = array(
    array(
        'Шелдон' => array(2, 2, 3),
        'Леонард' => array(2, 3, 2),
        'Пенни' => array(1, 1, 2),
        'Раджеш' => array(0, 0 , 0),
        'Говард' => array(0, 0 , 0)
    ),//Шелдон лучший в 1 и 3, Леонард - лучший в 1 и 2.
    //ваши данные
);
foreach ($basicData as $students) {
    $result = findSuccessfulStudents($students);
    var_dump($result);
}

function findSuccessfulStudents(array $students)
{
    $successfulStudents = array();
    //ваш код

    return $successfulStudents;
}

Печеньки

Условие

Оля пришла в гости к близняшкам Ане и Маше и увидела, что у них есть много печенек. Печеньки разложены в пакетики. Поскольку печенек много, Оля решила, что не будет ничего страшного, если она утащит один пакетик. Но она не хочет, чтобы сестры ссорились по пустякам при дележе печенек. Поэтому Оля хочет утащить один пакетик печенья так, чтобы общее количество печенья в оставшихся пакетиках было четно, то есть, чтобы Аня и Маша потом могли поделить его ровно пополам (даже если его останется 0 — главное, чтобы четное количество).

Сколько способов у Оли утащить ровно один пакетик печенья, чтобы суммарное количество печенек в оставшихся пакетиках было четно?

Вам дан массив целых чисел ai — количество печенек в i-ом пакетике.

Макет

Запустить файл можно командой php cookies.php.

(cookies.php) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
//массив исходных данных
$basicData = array(
    array(1),//1
    array(1, 2, 2, 3, 4, 4, 4, 6, 8, 2, 2, 4),//10
    array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 99),//1
    //ваши данные

);
foreach ($basicData as $bags) {
    $result = calculateWays($bags);
    echo ($result);
}

function calculateWays(array $bags)
{
    $countWays = 0;
    //ваш код

    return $countWays;
}