Удалить первый элемент из массива и реализовать условное вычитание из всех последующих значений массива.Php

Кемеровские программисты php общаются здесь
Ответить
Гость
 Удалить первый элемент из массива и реализовать условное вычитание из всех последующих значений массива.

Сообщение Гость »


Я пытаюсь разработать функцию для выполнения вычитания при переборе чисел в массиве. Первое число нужно убрать и использовать для вычитания с остальными числами. При выполнении вычитания ни одно значение не должно уменьшаться до отрицательного числа. Кроме того, если встречается новое значение, превышающее сохраняемое значение, сохраняемое значение будет увеличено до суммы большего значения.

Мой текущий код:

функция PairwiseDifference($array) { $n = счетчик ($array) - 1; // сюда можно добавить -1 $дифф = 0; $результат = массив(); для ($i = 0; $i < $n; $i++) { // абсолютная разница между // последовательные числа $diff = abs($array[$i] - $arry[$i + 1]); эхо $diff." "; array_push($результат, $diff); // используем array_push() для добавления новых элементов в массив } вернуть $результат; // возвращаем массив результатов } $массив = [20,10,10,50]; // Процент комиссий составляет: PairwiseDifference ($ массив); Мой код неправильно печатает 10,0,40, и мне нужны следующие значения в качестве вывода: 0,0,30.

Некоторые дополнительные входные данные и желаемые результаты:
$input = [20, 10, 10, 50, 100, 25]; $выход = [0, 0, 30, 50, 0]; $input = [80, 20, 30, 10, 50]; $выход = [0, 0, 0, 0]; $input = [10, 40, 10, 50, 40]; $выход = [30, 0, 10, 0];
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»