2 / 2 / 0
Регистрация: 19.03.2019
Сообщений: 54

Массив: Напишите программу, которая меняет массив так, чтобы его элементы шли в обратном порядке.

06.04.2019, 20:12. Показов 15757. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Техническое задание

Напишите программу, которая меняет массив так, чтобы его элементы шли в обратном порядке. (без использования array.reverse()).
Массив записан в переменную numbers.
Обратите внимание, что вам нужно поменять порядок элементов в массиве numbers. Создавать другую переменную для новой версии массива не нужно.


JavaScript
1
2
3
4
5
6
7
var numbers = [1, 3, 5, 7, 9, 11];
 
for (var i = 0; i < numbers.length / 2; i++) {
  var swap = numbers[numbers.length - 1 - i];
  numbers[numbers.length - 1 - i] = numbers[i];
  numbers[i] = swap;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2019, 20:12
Ответы с готовыми решениями:

переупорядочить заданный одномерный массив так, чтобы его элементы шли в порядке возрастания их близости к целым числам
не могу сделать задачу.....помогите пожалуйста ))))))))) задача: переупорядочить заданный одномерный массив так, чтобы его элементы шли в...

Составить программу которая переворачивает список L, изменяет ссылки в этом списке так, чтобы его элементы оказались расположенными в обратном порядке
Составить программу, которая переворачивает список L, т.е. изменяет ссылки в этом списке так, чтобы его элементы оказались расположенными в...

Массив упорядочить так, чтобы сначала шли положительные элементы, в порядке следования, а затем отрицательные
дан одномерный массив упорядочить так, чтобы сначала шли положительные элементы, в порядке следования, а затем отрицательные.

14
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
06.04.2019, 22:24
Лучший ответ Сообщение было отмечено Олег971 как решение

Решение

Олег971, Вы ТЗ читали? Написано же
Цитата Сообщение от Олег971 Посмотреть сообщение
Создавать другую переменную для новой версии массива не нужно.
*/
Плюсом будет, если Вы начнете читать документацию к используемому инструменту. Например, наткнувшись на метод sort - https://developer.mozilla.org/... Array/sort - Вы узнаете, что если в качестве параметра ему передать калбек, то итерируемые элементы будт сравниваться по алгоритму описанному в нем.
Далее немного смекалки - это я про то что массив составлен по возрастанию, если его инвертить, то.........
JavaScript
1
2
3
let numbers = [1, 3, 5, 7, 9, 11];
numbers.sort((a,b) => b - a);
console.log(numbers); // [11, 9, 7, 5, 3, 1]
0
2 / 2 / 0
Регистрация: 19.03.2019
Сообщений: 54
06.04.2019, 23:09  [ТС]
Qwerty_Wasd, Понял, спасибо. Я просто сейчас курсы по JS прохожу и пока не застал метод sort.
Можете объяснить, пожалуйста, для чего в цикле длину массива делим на 2?
i < numbers.length / 2
0
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
06.04.2019, 23:29
Лучший ответ Сообщение было отмечено Олег971 как решение

Решение

Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
это я про то что массив составлен по возрастанию, если его инвертить
А если поставить 11 в начало массива? Это уже получится не совсем то...
Так наверное было бы более надёжно

JavaScript
1
2
3
4
let arr = [1, 3, 5, 7, 9, 11];
console.log(arr);
arr = arr.map((it, idx, arr) => arr[arr.length - 1 - idx]);
console.log(arr);
Цитата Сообщение от Олег971 Посмотреть сообщение
Можете объяснить, пожалуйста, для чего в цикле длину массива делим на 2?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var numbers = [1, 3, 5, 7, 9, 11];
 
// длинна массива делится на 2 что бы поделить массив на две 
// условные части для перестановки элементов вплоть до их границы
for (var i = 0; i < numbers.length / 2; i++) {
  // временная переменная swap что бы хранить элемент 
  // который берётся из второй половины массива
  var swap = numbers[numbers.length - 1 - i];
  // элемент из второй части массива меняется местами 
  // с элементом из первой части массива
  numbers[numbers.length - 1 - i] = numbers[i];
  // элемент из первой части массива меняется местами 
  // с элементом из второй части массива
  numbers[i] = swap;
}
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
06.04.2019, 23:35
arcmag,
Цитата Сообщение от arcmag Посмотреть сообщение
А если поставить 11 в начало массива
это было бы другое ТЗ ))
0
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
06.04.2019, 23:49
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
это было бы другое ТЗ ))
Ну по данному ТЗ задача вроде как поменять элементы местами перевернув массив, а не отсортировать их... тогда бы наверное уточнили про sort, а не про reverse.
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
07.04.2019, 00:15
arcmag, по данному ТЗ -
меняет массив так, чтобы его элементы шли в обратном порядке. (без использования array.reverse()).
Массив записан в переменную numbers.
Обратите внимание, что вам нужно поменять порядок элементов в массиве numbers. Создавать другую переменную для новой версии массива не нужно
.
, но Вам явно не интересно что там написано, Вам интересно видимо продолжить бессмысленный в рамках темы спор))
Вариантов выполнить задачу, как ТС уже понял, не один. Это единственное, что имеет значение в этой теме. Наши с Вами фантазии, выходящие за рамки этой задачи - вторичны, а посему мне не интересны. Извините.
Еще варик кстати в догонку
JavaScript
1
[1, 3, 5, 7, 9, 11].reduceRight((e, i) => (e.push(i), e), [])
И тут меня понесло
JavaScript
1
2
console.log([1, 3, 5, 7, 9, 11].reduce((a, b) => [b].concat(a)));
console.log([1, 3, 5, 7, 9, 11].sort( a => -1));
0
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
07.04.2019, 00:23
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
Вам явно не интересно что там написано
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
Обратите внимание, что вам нужно поменять порядок элементов в массиве numbers.
Что же я не так понял?

Даже сам заголовок темы указывал на то что нужно именно развернуть массив, а не отсортировать по значениям.
Напишите программу, которая меняет массив так, чтобы его элементы шли в обратном порядке.
Мне просто показалось что то ваш вариант с sort оказался не совсем удачным для решения задачи в целом.
Честно говоря не ожидал что вы так обидитесь)

Добавлено через 1 минуту
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
Наши с Вами фантазии, выходящие за рамки этой задачи - вторичны, а посему мне не интересны. Извините.
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
Еще варик кстати в догонку
Настолько не интересны, что вы написали аж 3 интересных варианта решения ?
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
07.04.2019, 00:26
arcmag,
Цитата Сообщение от arcmag Посмотреть сообщение
Даже сам заголовок темы указывал на то что нужно именно развернуть массив, а не отсортировать по значениям.
инверсия массива без использования reverse(). Об использовании других методов речи не шло. Неужели Вы не обратили внимание? Вы не читаете внимательно ))
Цитата Сообщение от arcmag Посмотреть сообщение
Мне просто показалось что то ваш вариант с sort оказался не совсем удачным для решения задачи в целом.
Ну это нормально, было бы странно если бы мы "как в зеркало смотрелись"

Цитата Сообщение от arcmag Посмотреть сообщение
Честно говоря не ожидал что вы так обидитесь)
А вот это уже интересно... почему Вы так подумали?

Добавлено через 1 минуту
Цитата Сообщение от arcmag Посмотреть сообщение
Настолько не интересны, что вы написали аж 3 интересных варианта решения
Ну так Вы же меня в эту тему тянете))) Я собирался дать одно из решений и свалить смотреть сериальчик\ пить кофеёк \ есть печеньки \ посмотреть другие темы
0
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
07.04.2019, 00:32
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
А вот это уже интересно... почему Вы так подумали?
Общий тон вашего текста настроил меня на такую мысль... но если нет, то прекрасно!

Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
Ну так Вы же меня в эту тему тянете)))
Да, это я умею
1
07.04.2019, 00:43

Не по теме:

arcmag,

Цитата Сообщение от arcmag Посмотреть сообщение
Общий тон вашего текста настроил меня на такую мысль
Заметил, что на ru-кластере, фон диалога в чатах, как-то больше зависит от наличия смайликов. А на реддит \ кворе запросто можно определить с каким полом или сексуальной ориентацией ты переписываешься - там обычно текст изобилует эмоджи в основном у девченок или ЛГБТ. На всякий случай уточню - это не намек ни на что. Лишь примечание, что диалог не приукрашенный смайлом, на ру настрораживает. Зря :)

0
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
07.04.2019, 03:25
Лучший ответ Сообщение было отмечено amr-now как решение

Решение

JavaScript
1
2
3
4
let numbers = [1, 3, 5, 7, 9, 11];
for(let i = 0, j = numbers.length - 1; i < j; i++, j--)
    [numbers[i], numbers[j]] = [numbers[j], numbers[i]];
console.log(numbers); //[11, 9, 7, 5, 3, 1]
2
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
07.04.2019, 03:37
klopp, приветствую )
Про destructuring assignment и позабыл как-то
0
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
07.04.2019, 04:06

Не по теме:

Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
и позабыл как-то
вы как-то больше о другом спорили:)

0
07.04.2019, 04:09

Не по теме:

klopp, вот поэтому мне и нравятся такие споры :D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.04.2019, 04:09
Помогаю со студенческими работами здесь

Напишите программу, которая заполняет массив из N элементов в обратном порядке последовательными натуральными
Напишите программу, которая заполняет массив из N элементов в обратном порядке последовательными натуральными числами, начиная с последнего...

Напишите программу, которая заполняет массив из N элементов в обратном порядке последовательными натуральными
Здравствуйте,помогите пожалуйста написать код,спасибо.Напишите программу, которая заполняет массив из N элементов в обратном порядке...

Преобразовать массив, чтобы его элементы расположились в обратном порядке
Хелп Преобразовать массив а0, а1, а2,…, аn-1 так, чтобы его элементы расположились в обратном порядке: аn-1, аn-2,…, а0

Скопировать один массив в другой так, чтобы элементы оказались в обратном порядке
Пользуясь двумя указателями на массивы целых чисел, скопировать один массив в другой так, чтобы во втором массиве элементы находились в...

Массив: Преобразовать массив так, чтобы сначала шли элементы, модуль которых не превышает 1, а потом - остальные...
Преобразовать массив таким образом, чтобы сначала располагались, все элементы, модуль которых не превышает 1, а потом – все остальные....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru