|
Удаление элементов массива с условием | ☑ | ||
---|---|---|---|---|
0
Licklove4
16.12.18
✎
20:25
|
Добрый день. Начал недавно учить 1с. Бьюсь над заданием уже 3ий день.
подскажите пожалуйста , что не так. Суть задания : Создать Массив с помощью цикла с числами от 1 до 30 а затем , ИМЕННО после создания массива еще одним циклом удалить числа и массива кратные 3 ( 3 , 6 , 9 и т д ). Вот мой вариант: Счетчик = 0; Массив = Новый Массив; Для Счетчик = 0 По 30 Цикл Массив.Добавить(Счетчик); КонецЦикла; Для каждого ЭлементМассива из Массив Цикл Если ЭлементМассива%3 = 0 тогда Массив.Удалить(ЭлементМассива); Иначе ЭлементМассива = ЭлементМассива + 1; КонецЕсли; Сообщить(ЭлементМассива); КонецЦикла; Были и еще варианты ,Но каждый раз в отладчике я получаю либо ничего, либо что Индекс находится за границами массива.Help |
|||
1
Попытка1С
16.12.18
✎
20:27
|
удалять надо в обратном порядке
|
|||
2
Licklove4
16.12.18
✎
20:30
|
Извините, не могли бы вы продемонстрировать как это пишется, Я не спрашиваю готового решения в виде кода ко всему заданию, меня интересует как прописывается удаление эллементов массива в обратном порядке.
|
|||
3
Dmitry77
16.12.18
✎
20:32
|
в яндексе пишешь "1с удаление элементов массива". нажимаешь искать, просматриваешь ссылки...
|
|||
4
Попытка1С
16.12.18
✎
20:35
|
||||
5
Licklove4
16.12.18
✎
20:35
|
Ладно закройте тему, я просто уже не хочу срач разводить,вас троллей по интернету хватает. Если бы это было в яндексе , то я бы сюда не написал
|
|||
6
Licklove4
16.12.18
✎
20:36
|
Попытка1С , Благодярю!
|
|||
7
Михаил Козлов
16.12.18
✎
20:39
|
Можно еще отобрать нужные элементы, а потом удалить их.
кУдалению = Новый Массив; ДЛЯ каждого эл ИЗ Массив Цикл Если эл%3 = 0 Тогда кУдалению.Добавить(эл); КонецЕсли; КонецЦикла; ДЛЯ каждого эл ИЗ кУдалению Цикл Массив. Удалить(эл); КонецЦикла; |
|||
8
Попытка1С
16.12.18
✎
20:40
|
(5) Ты плохо искал..
|
|||
9
Dmitry77
16.12.18
✎
20:44
|
(5) первая же ссылка из поиска
v8: Как правильно удалять элементы из массива в цикле? там даже из ЖКК написано: Удаление элементов коллекции в цикле -------------------------------------------------------------------------------- При необходимости удаления некоторых элементов из какой-либо коллекции элементов, обладающей свойством неявного сдвига элементов при удалении (например, таблица значений, набор записей регистра и т.д.), необходимо использовать следующий алгоритм: КолвоЭлементовКоллекции = Коллекция.Количество(); Для ОбратныйИндекс = 1 По КолвоЭлементовКоллекции Цикл ЭлементКоллекции = Коллекция[КолвоЭлементовКоллекции - ОбратныйИндекс]; Если <Условие> Тогда Коллекция.Удалить(ЭлементКоллекции); КонецЕсли; КонецЦикла; Где Коллекция – обрабатываемая коллекция элементов. |
|||
10
Licklove4
16.12.18
✎
20:48
|
Михаил Козлов и остальные , еще раз спасибо.
пойду дальше трудиться хорошего дня |
|||
11
Licklove4
16.12.18
✎
20:54
|
Михаил Козлов по вашему примеру выходит так же что в недиапазона индекс :)
|
|||
12
Zhuravlik
16.12.18
✎
21:58
|
(0) ошибка "Создать Массив с помощью цикла с числами от 1 до 30 " <> Для Счетчик = 0 По 30 Цикл
(11) Вграница() вместо Количество() |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |