Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 июл 2022, 12:27

Заполнение массива

Автор Dmitry Qwe, 10 окт 2017, 21:30

0 Пользователей и 1 гость просматривают эту тему.

Dmitry Qwe

Есть код


Массив1 = Новый массив(10);
Для сч = 0 по Массив1.ВГраница() цикл
Массив1.Вставить(0,сч);
КонецЦикла;

Объясните почему после заполнения мы получаем массив со значениями 10,9,8,7,6,5,4,3,2,1,0 если Массив.Вставить(0,сч); по идее каждый ход цикла просто перезаписывает элемент с индексом 0 на значение СЧ, а по факту выходит что каждое новое значение толкает старое вниз(к макс индексу)?

Golickoff

Массив[0] -- это первый элемента массива. Каждое новое число вставляется на первое место, а остальные элементы сдвигаются. Что действительно странно -- так это то что первым элементом массива у вас стало число 10. Если вам требуется замещение значения, используйте Соответствие.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

geolone

Цитата: Dmitry Qwe от 10 окт 2017, 21:30
Есть код


Массив1 = Новый массив(10);
Для сч = 0 по Массив1.ВГраница() цикл
Массив1.Вставить(0,сч);
КонецЦикла;

Объясните почему после заполнения мы получаем массив со значениями 10,9,8,7,6,5,4,3,2,1,0 если Массив.Вставить(0,сч); по идее каждый ход цикла просто перезаписывает элемент с индексом 0 на значение СЧ, а по факту выходит что каждое новое значение толкает старое вниз(к макс индексу)?
Метод массива вставить (0, Значение) означает, что вы выставляете значение в начало массива, а не перезаписываете его, в данной ситуации ваш код работает верно, чтобы перезаписать значение думаю нужно воспользоваться этим: Массив[0] = Значение;

Отправлено с моего Nexus 6P через Tapatalk


Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск