кодесурса
«PHP

Упражнения на PHP: найдите номер клиента, который торговал второй подряд второй месяц подряд с прошлого месяца, и количество транзакций

script1adsense2code
script1adsense3code

PHP: упражнение 70 с решением

Раздел записи компании ABC записывает номер клиента и дату торгов для каждого месяца. Напишите программу PHP, чтобы найти номер клиента, который торговал второй подряд второй месяц подряд с прошлого месяца, и количество транзакций.
Данные этого месяца и данные прошлого месяца разделены пустой строкой в одну строку и даны.
Формат транзакции:
с1, д1
с2, д2
...
...
ci (1 ≤ ci ≤ 1000) представляет собой целое число, представляющее номер клиента, di (1 ≤ di ≤ 31) представляет собой целое число, представляющее торговую дату.

Пример решения: -

PHP-код:

<?php
$x = array();
while (true) {
    $a = rtrim(fgets(STDIN));
    if ($a === '') {
        break;
    }
    list($n, $d) = explode(',', $a);
    if (!isset($x[$n])) {
        $x[$n] = 0;
    }
    $x[$n]++;
}
 
$y = array();
while (true) {
    $a = rtrim(fgets(STDIN));
    if ($a === '') {
        break;
    }
    list($n, $d) = explode(',', $a);
    if (!isset($x[$n])) {
        continue;
    }
    if (!isset($y[$n])) {
        $y[$n] = $x[$n];
    }
    $y[$n]++;
}
echo "Customer number and the number of transactions:\n";
ksort($y);
foreach ($y as $k => $v) {
    echo sprintf('%d %d', $k, $v) . PHP_EOL;
}
?>

Пример ввода:
125,10
55,12
34,14

125,3
55,4
125,5

Пример вывода:

 Номер клиента и количество транзакций:
55 2
125 3 

Блок - схема:

«Блок-схема:

Редактор кода PHP:

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите программу PHP для суммирования всех числовых значений, встроенных в предложение.
Далее: Напишите программу PHP для чтения массовых данных и определения количества островков.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code