PDA

Просмотр полной версии : УДАЛИТЬ КАЖДЫЙ 3-Й ЭЛЕМЕНТ МАССИВА



aRTEm/
26.03.2020, 12:43
Помогите решить задачу в массиве нужно удалить каждый 3-й элемент например пользователь вводит 12 символов , ответ 1,2,4,5,7,8,10,11, и потом 1,2,5,7,8,11 и т.д
вообщем не могу понять ,помогите пожалуйста!


&НаКлиенте
Процедура Удалить(Команда)

Массив = Новый Массив(Объект.ПолеВвода);
ВсегоЭлементов = Массив.Количество()-1;

Для Индекс = 2 По ВсегоЭлементов Цикл
Сообщить(Индекс);
Массив.Удалить(Индекс);
Индекс = Индекс + 3;
Если Индекс <= ВсегоЭлементов Тогда Продолжить;

КонецЕсли;

КонецЦикла;

КонецПроцедуры

Hitcher73
27.03.2020, 08:09
Идти нужно с конца массива и удалять только те элементы у которых целая часть деления на 3 равняется просто делению на 3. То есть Цел(12/3) = 12/3 - удаляем, Цел (11/3)<> 11|3 - не удаляем

wolff1975
05.04.2020, 14:23
Цикл должен быть не "Для", а "Пока Индекс <= Массив.Количество()". И да, насчёт целой части от деления на 3, согласен с предыдущим оратором