Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.03.2023
Сообщений: 6
1

Удаление последней положительной группы массива

17.04.2023, 23:52. Показов 538. Ответов 1

Author24 — интернет-сервис помощи студентам
Требуется удалить последнюю положительную группу массива (группой считаются 2 и более идущих подряд элемента одного знака)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$n = $_POST['n'];
$array = [];
$maxKey = 0;
$l = 0;
for ($i = 0; $i < $n; $i++){
    $array[$i] = rand(-5, 5);
}
foreach ($array as $key => $value) {
    if ($key > $maxKey) {
        $maxKey = $key;
    }
}
echo "<pre>";
var_dump($array);
echo "<pre>";
var_dump($maxKey);
for ($j = $maxKey; $j > -1; $j--) {
    if ($array[$j]>0 and $array[$j-1]>0){
        for ($k=$maxKey; $k > -1; $k--){
            if ($array[$k]>0 and $array[$k-1]>0) {
                unset($array[$k]);
            }
        }
    }
}
require_once('output.php');
Надо исправить: 1) Чтобы стирала все полностью(не стирает группу до конца) 2) Чтобы после первой стёртой группы останавливалась.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2023, 23:52
Ответы с готовыми решениями:

Файл: Найдите номер первой положительной компоненты файла и номер последней положительной компоненты файла
Организуйте заполнение типизированного файла случайными целыми числами из интервала . Выведите...

В двумерном массиве перед последней строкой вставить строку с положительной суммой элементов.
Очень нужна помощь))) Текст задачи: В двумерном массиве перед последней строкой вставить строку с...

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

Максимальный отрезок массива с положительной xor суммой
Имеется массив длинной от 1 до 10 ^ 5, необходимо найти самый длинный отрезок, xor сумма элементов...

Максимальный отрезок массива с положительной xor суммой
Имеется массив длинной от 1 до 10 ^ 5, необходимо найти самый длинный отрезок, xor сумма элементов...

1
Невнимательный
2604 / 979 / 324
Регистрация: 08.02.2013
Сообщений: 5,745
Записей в блоге: 2
18.04.2023, 02:36 2
Лучший ответ Сообщение было отмечено mapoklontcev как решение

Решение

Цитата Сообщение от mapoklontcev Посмотреть сообщение
последнюю положительную группу
как вариант... если неотрицательные числа
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$n = 7;
$array = [];
 
for ($i = 0; $i < $n; $i++){
    $array[$i] = rand(-5, 5);
}
echo "<pre>", var_export($array), "</pre>";
 
while(--$n){
    if ($array[$m = $n] < 0 || $array[--$m] < 0 ) continue;
    unset($array[$n],$array[$m]);
    while ($m && $array[--$m] >= 0)unset($array[$m]);
    break;
}
echo "<pre>", var_export($array), "</pre>";
а так array_splice() наверно надо как-то использовать
... как-то вычислить два числа, типа как:
PHP
1
2
3
4
5
6
7
$ln =2;
while(--$n){
    if ($array[$i = $n] < 0 || $array[--$i] < 0 ) continue;
    while ($i && $array[--$i] >= 0) ++$ln;
    break;
}
if($n) array_splice($array, ++$n-$ln, $ln);
но как-то должно быть можно красивее ))

Добавлено через 14 минут
Цитата Сообщение от ft4l Посмотреть сообщение
echo "<pre>", var_export($array), "</pre>";
var_export($array,1)
1
18.04.2023, 02:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2023, 02:36
Помогаю со студенческими работами здесь

Элементы массива заданы случайным образом. Упорядочить столбцы с положительной суммой элементов по возрастанию
Помогите пожалуйста, в задании сказано: элементы массива заданы случайным образом. Упорядочить...

Найти сумму последней группы четных элементов и записать ее в итоговый файл.
Создать файл и записать в него n вещественных чисел. Найти сумму последней группы четных элементов...

Как сравнить первую букву группы с последней, если первая буква заглавная.
Как сравнить первую букву группы с последней, если первая буква заглавная

удаление последней буквы..
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 строчных...

Удаление последней строки
Имеется RichTextBox с n-ым количеством строк, в которых содержатся цифры Подскажите пожалуйста,...

Удаление последней записи
Всех приветствую! Я написал функцию удаления записей из нескольких таблиц. И при тестировании...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru