Скопировать один массив в другой, используя указатели
всем привет. простейшая задачка на копирование массива при помощи указателей. все работает, но хочу, чтобы массив рисовался в ряд. а компилятор мне выдает каждый его элемент с новой строки. подскажите пожалуйста что я не учел?
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
/*Используя два указателя на массив целых чисел, скопировать один массив в другой. Использовать в программе арифметику указателей для продвижения по массиву, а также оператор разыменования.*/ #include using namespace std; void main () { const int size = 10; int arr1 [size] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; int arr2 [size]; int *ptr_arr1 = arr1; int *ptr_arr2 = arr2; cout "< "; for (int i = 0; i size; i++) { ptr_arr2 = ptr_arr1; cout *ptr_arr2 " " endl; ptr_arr1++; ptr_arr2++; } cout ">\n\n"; system ("PAUSE"); }
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Скопировать все отрицательные числа из массива A в массив B, в обратном порядке используя указатели
Скопировать все отрицательные числа из массива A в массив B, в обратном порядке используя.
Скопировать один динамический массив в другой
Доброго времени суток. int *Array = new int; int *B_Array = new int; Первый массив я наполняю.
Скопировать один символьный массив в другой
Привет всем, многоуважаемые пользователи не могу сделать программу. Нам даны два массива s1 и s2.
Как скопировать один массив в другой
как присвоить один массив другому без перебора
Как скопировать один массив в другой с
Есть задача скопировать один массив в другой, но не так как делает 1С (путем копирования ссылки), а создать Независимую копию и без перебора в цикле элементов. Отсюда вопрос. Пойдет ли такая конструкция?
Массив = Новый Массив();
Массив.Добавить(1);
Массив.Добавить(2);
фМвссив = Новый ФиксированныйМассив(Массив);
Массив2 = Новый Массив(фМассив);
ща, минуту, кофе допью и буду проводить испытания
передать в функцию по значению
(0) в последнем операторе ошибка
(2) А это как?
(3) Орфографическая?
(2) не взлетит
(5) смысловая, конструктор массива принимает в качестве аргументов только целые числа
(6) У меня работает. Может это из за 8.3? Забыл про это написать.
(4) функция блабла(Знач массив)
Вот так у меня
Массив = Новый Массив();
Массив.Добавить(1);
Массив.Добавить(2);
фМассив = Новый ФиксированныйМассив(Массив);
Массив2 = Новый Массив(фМассив);
(8) А как это поможет копию создать? Мне не передать а скопировать надо. В текущей Прцедуре.
(9) Вроде работает. Вот только как проверить не ссылка ли копируется и не становится ли исходный массив неизменяемым?
(10) никак не поможет
(10) можно еще в список значений загрузить, а потом выгрузить
ВыгрузитьЗначения()
Возвращаемое значение:
Создает массив и копирует в него значения элементов списка значений.
Копирование из одного массива в другой
Как уже упомянули в комментариях. По сути slice() нам даже и не надо.
let arr1 = [1, 2, 3]; let arr2 = [4, 5]; arr2.splice(1, 0, . arr1); console.log(arr2);
Отслеживать
ответ дан 9 июн 2020 в 20:54
13.1k 2 2 золотых знака 21 21 серебряный знак 37 37 бронзовых знаков
Если я правильно понял, то надо смешать два массива, тогда вот так:
let arr = arr1.concat(arr2);
let arr1 = [1,2,3]; let arr2 = [3,4]; let arr = arr1.concat(arr2); alert(arr);
Отслеживать
ответ дан 9 июн 2020 в 20:45
55 1 1 серебряный знак 8 8 бронзовых знаков
Нужно вернуть [4, 1, 2, 3, 5]
9 июн 2020 в 20:46
@Grundy он мб ошибся. А так странно как-то))
9 июн 2020 в 20:48
@Grundy ааа)) Надо типо вставить именно в середину. Ну gg
9 июн 2020 в 20:50
- javascript
- массивы
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.21.1314
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как скопировать массив в 1с?
Задача копирования массива на платформе 1С:Предприятие 8 — нетривиальная задача, т.к. отдельного соответствующего метода у массива нет.
Решить эту проблему можно двумя способами:
1). Копирование массива, используя список значений
Если заранее известно, что потребуется копирование коллекции, можно сразу использовать более подходящую коллекцию — список значений. Он позволяет создавать свои копии с помощью метода Скопировать(). Если такой возможности нет, можно воспользоваться следующим кодом:
//создаем и наполняем массив м1 = Новый Массив; м1.Добавить(1); м1.Добавить(2); м1.Добавить(3); //приступаем к копированию сз = Новый СписокЗначений; сз.ЗагрузитьЗначения(м1); //выгружаем результат в новый массив м2 = сз.ВыгрузитьЗначения(); //проверяем результат Сообщить(СтрСоединить(м2, ",")); //1,2,3
2). Копирование массива перебором значений
//создаем и наполняем массив м1 = Новый Массив; м1.Добавить(1); м1.Добавить(2); м1.Добавить(3); //выполняем последовательное копирование м2 = Новый Массив; Для Инд = 0 По м1.ВГраница() Цикл м2.Добавить(м1[Инд]); КонецЦикла; //проверяем результат Сообщить(СтрСоединить(м2, ",")); //1,2,3
Нужно понимать, что второй способ будет менее производительным, чем первый.
Читайте также:
- СписокЗначений.Скопировать()
- СписокЗначений.ВыгрузитьЗначения()
