Как удалить элемент массива? #779138


#0 by Нач программист
Удалить из массива: а) все отрицательные элементы; б) все элементы, большие данного числа n; в) все элементы, начиная с n1-го по n2-й (n1  n2). код:
#1 by Зая Бусечка
Проще создать новый массив и копировать туда элементы, не попадающие под эти условия
#2 by butterbean
это похоже на тестовое задание, так что такое решение вряд-ли прокатит
#3 by Горогуля
с прошлой ветки не дошло?
#4 by Fish
А что не получается то? Или просишь, чтобы за тебя задание решили?
#5 by Зая Бусечка
Не тестовое, а экзамен по нформатике за 9й класс
#6 by Горогуля
август месяц. это вступительный экзамен в 9й класс
#7 by Garykom
Тока мне непонятно что подразумевается под удалением из массива фикси размерности?
#8 by Нач программист
Я что написал решить за меня.
#9 by Горогуля
ты написал решить за тебя это
#10 by Ёпрст
И ? Перебирай массив с конца , ставь условие и удаляй. Делов-то
#11 by Горогуля
мы уже пробовали, не помогает
#12 by Ёпрст
Если что, дарю (и не благодари): Массив (Array) Удалить (Delete) Синтаксис: Удалить(<Индекс>) Параметры: Тип: Число. Индекс удаляемого элемента. Описание: Удаляет значение из массива по указанному индексу. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Примечание: Если указанный в параметре индекс больше, чем ВГраница, то никаких действий не производится и не выдается сообщение "Индекс находится за границами массива". Пример: Массив.Удалить;
#13 by Горогуля
>Если указанный в параметре индекс больше, а если меньше, чем НГраница? косяк в СП?
#14 by Garykom
В 1С массивы "неправильные" ))
#15 by Мыш
#16 by Нач программист
Все решил!
#17 by Йохохо
это тянет максимум на троечку или даже меньше, т.к. видно, что нет понимания работы с массивом и алгоритмически ужасно
#18 by Горогуля
а зачем тебе 20 ГСЧ? а почему именно до 19, а не до Н? а зачем второй массив? а кто придумал называть переменные ключевыми словами? а зачем лишние переменные? а тебе хватит на жизнь одной коленки?
#19 by michael512
#20 by michael512
ага, в 1С одномерные массивы это связанные списки объектов, эмулирующие массив, а многомерные массивы - деревья
#21 by Jija Grenkov
даже никогда не думал, что массив это список и до сих пор  сомнения есть. Получается сложность доступа к значению по индексу O(n)? Я бы скорее поверил что это хешированная коллекция (Map)
#22 by DrZombi
Еще подумай. Алгоритм бредовый и не рабочий :)
#23 by DrZombi
Ты еще до этого Эпика не дошел :)     Для Каждого эл из МассивКУдалению Цикл
#24 by Горогуля
валерьянка закончиолась как раз перед этим
#25 by michael512
Возможно, имхо это ArrayList
#26 by michael512
а это точно работает? пойду попробую, думаю, всё таки, пространственно-временной континуум не свернется в точку...
#27 by Jija Grenkov
Так ArrayList -- это обертка над "честным" массивом, тогда почему в 1с массивы не правильные?
#28 by michael512
В каком месте "неправильные"?
#29 by Jija Grenkov
Мне вот не ясно в каком месте они не правильные. Это я взял из вашего обсуждения которое началось с И вы его поддержали в
#30 by michael512
видимо, имелось в виду, что массивы в 1С - это коллекции нетипизированных данных, в то же время "правильные" массивы типизированные списки данных, т.е. каждый представитель списка одинакового типа во всем теле массива
#31 by michael512
аналог хэшированной коллекции в 1с - структура
#32 by michael512
в общем случае 1с массив можно представить как массив указателей
#33 by Jija Grenkov
Такие не честные массивы во многих языках. Там лежат ссылки/указатели которые одинакового размера, а куда они указывают уже другой вопрос. В java тоже так, за исключением массивов примитивных типов. В js массивы на хэш таблице построены.
#34 by Chum
У меня вопрос по тексту задания: >Удалить из массива: >а) все отрицательные элементы; >б) все элементы, большие данного числа n; >в) все элементы, начиная с n1-го по n2-й (n1  n2). Пункт "в" должен выполняться после выполнения пунктов "а" и "б" или до?
#35 by Горогуля
на усмотрение главбуха
#36 by Jija Grenkov
это же тестовое задание, какая разница как делать. Главное описать, что принял решение делать в такой-то последовательности, сложность от этого не меняется
#37 by Chum
садись, два! Ничего, что условие "В", если оно будет выполняться после "а" и(или) "б" запросто может не сработать, т.к. вполне возможен случай, что n1 и(или) n2 превысят границы результирующего массива, полученного после выполнения "а" и "б"? p.s. Жижа Гренков? Жижа?
#38 by michael512
в виду того, что n1 и n2 не конкретизированы, вполне допустимо, что решение просто должно предоставлять функцию удаления указанного диапазона, ведь, на худой конец, можно ввести проверку выхода за границы массива
#39 by Jija Grenkov
я думаю выбрать такой вариант и корректно обработать исключение будет показателем хорошего стиля кодинга.
#40 by michael512
хороший стиль, это когда и переменные проверяются и ошибки отлавливаются (для особо упорных|упоротых)
#41 by michael512
Проверка ставится там, где ошибки прогнозируемы и  их набор имеет конечное количество (ошибки юзверя), а ловушки ошибок там, где они могут возникнуть неожиданно для программиста, например при вызове библиотечных/системных функций, или там, где функция работает так, что может/должен возбуждать исключение
#42 by Jija Grenkov
с этим полностью согласен. Все что может провериться явно должно проверяться явно, если такой возможности нет, можно перехватывать исключения
#43 by Михаил 1С
Я просмотрел бегло код и не понял его связи с постановкой задачи. Там нет ни одного удаления. Там нет числа n и прочего. ... Блин, все-таки вчитался в код, как дурак. Там заполнение массива значениями и всякая ерунда. Зачем нам этот кусок кода?? Ты зачем нас зря напрягал? Справедливый вопрос - ты хочешь, чтобы мы решили за тебя? Если нет, то почему нет точных вопросов? Что тебе именно не понятно?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С