Как перевернуть массив в с
Перейти к содержимому

Как перевернуть массив в с

  • автор:

Как перевернуть массив в с

Регистрация: 30.05.2018

Сообщений: 56

Реверс массива с помощью указателей (Си)

Здравствуйте! Подскажите, пожалуйста, что я делаю неправильно при разыменовании указателя *current?
Задача состоит в том, чтобы с помощью передачи в функцию указателя на первый элемент и на следующий элемент после массива перевернуть массив.

void array_reverse_ptr(int* array, int* limit) < for (int* current = array; current < limit; current++)< int storage_prt = *current; *current = *(limit - current - 1); *(limit - current - 1) = storage_prt; >> int main() < int myarray[] = ; int myarray_size = 6; array_reverse_ptr(myarray, myarray + 6); printf("\n"); for (int i = 0; i < myarray_size; i++)< printf("%d ", myarray[i]); >>

Array.prototype.reverse()

Метод reverse() на месте обращает порядок следования элементов массива. Первый элемент массива становится последним, а последний — первым.

Интерактивный пример

Синтаксис

array.reverse()

Параметры

Возвращаемое значение

Описание

Метод reverse() на месте переставляет элементы массива, на котором он был вызван, изменяет массив и возвращает ссылку на него.

Примеры

Пример: обращение порядка элементов в массиве

В следующем примере создаётся массив myArray , содержащий три элемента, а затем массив переворачивается.

var myArray = ["один", "два", "три"]; myArray.reverse(); console.log(myArray); // ['три', 'два', 'один'] 

Спецификации

Specification
ECMAScript Language Specification
# sec-array.prototype.reverse

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • Array.prototype.join()
  • Array.prototype.sort()
  • TypedArray.prototype.reverse() (en-US)

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 4 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

MDN

Support

  • Product help
  • Report an issue

Our communities

Developers

  • Web Technologies
  • Learn Web Development
  • MDN Plus
  • Hacks Blog
  • Website Privacy Notice
  • Cookies
  • Legal
  • Community Participation Guidelines

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.

Переворот массива

Author24 — интернет-сервис помощи студентам

Напишите программу, которая переставляет элементы массива в обратном порядке без использования дополнительного массива. Программа должна считать массив, поменять порядок его элементов, затем вывести результат(Просто вывести элементы массива в обратном порядке — недостаточно!).

Формат входных данных
Во входном файле сначала задано число N — количество элементов в массиве. Далее через пробел записаны N чисел — элементы массива. Все числа по модулю не превосходят 10000.

Формат выходных данных
В выходной файл необходимо вывести элементы массива в обратном порядке.

Примеры:
ввод:
3
1 2 4
Вывод:
4 2 1

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Переворот массива
Как перевернуть массив на 180 градусов ? Помогите. Сам массив уже есть: #include <iostream>.

Переворот массива
Доброго времени суток! Делал программу по заданию. Само задание ниже Программу вроде бы сделал.

Переворот массива
Как переворачивают не обычных массив, а двухмерный ? К примеру 4×4 ?

Эксперт C

27698 / 17315 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
Содержательная часть задачи

1 2 3 4 5
for(int i=0; iN/2; i++) { int t = A[i]; A[i] = A[N-i-1]; A[N-i-1] = t; }

Остальную рутинную часть попробуйте сделать самостоятельно
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Массив: переворот половины массива
Народ. Помогите пожалуйста с программой. Нужно сделать переворот половины массива. Нужно изменить.

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

переворот двумерного массива на 90 градусов
Двумерный массив передать в функцию и перевернуть его на 90 градусов, результат вывести в main.

Переворот двумерного массива на 90 градусов
Есть прямоугольный двумерный массив размерностью NxM. Требуется создать и вывести новый массив.

Переворот массива с помощью указателей
Здрасте! Учусь на программера недавно. Вот задали перевернуть массив рекурсивно с использованием.

Переворот массива относительно главной диагонали (транспонирование)
1) Нужно написать программу которая будет выводить массив int m=<. >; .

Или воспользуйтесь поиском по форуму:

Инверсия порядка элементов в массиве

самый простой вариант — воспользоватся встроеной функцией реверса:

void Main() < int[] a = ; a.Reverse();//вернёт массив в обратном порядке > 

второй — написать реверс самому:

public static IEnumerable Reverse(int[] array) < for(int i = array.Length-1; i >= 0; i--) yield return array[i]; > 

Отслеживать
ответ дан 5 янв 2012 в 12:26
12.3k 1 1 золотой знак 25 25 серебряных знаков 33 33 бронзовых знака
спасибо большое)вы мне очень помогли
5 янв 2012 в 12:32
лучшая благодарность — отметка правильного ответа
5 янв 2012 в 12:36
yield return вот это не поняла( и это все что ли?
5 янв 2012 в 13:35

ключевое слово [yield](http://msdn.microsoft.com/ru-ru/library/dscyy5s0.aspx) означает, что функция не прекратит своё выполнение после return , т.е. некоторое значение вернётся, но функция продолжит свою работу с места возврата значения.

5 янв 2012 в 14:24
когда исходный массив изменился.
7 янв 2012 в 9:20

Самый простой и эффективный вариант этого алгоритма (назависимо от C#, C, Pascal, Java, Basic . ) в цикле менять значения первого с последним, второго с предпоследним и т.д.

Т.е. для массива a[] длиной n :

for (i = 0, j = n-1; i

Не понимаю, почему этому не учат на лекциях, семинарах .

Отслеживать
ответ дан 5 янв 2012 в 17:06
46k 6 6 золотых знаков 47 47 серебряных знаков 115 115 бронзовых знаков
Я думаю учат ) А если массив не чётный? ) Это подводный камень для этого алгоритма.
5 янв 2012 в 18:25
никакой это не камень. цикл дойдет до серединного элемента и прекратится.
5 янв 2012 в 18:40
В дополнение — Средний элемент-жеж не надо перемещать.
5 янв 2012 в 18:41
угу. именно.
5 янв 2012 в 18:42

По определению средний элемент это i == j. Условие продолжения цикла это i < j. "Из чего со всей очевидностью следует", лишнего обмена не будет.

5 янв 2012 в 20:10

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

int [] a = ; // исходный массив int [] b; // желаемый массив int j = 0; for( int i = a.sizeof(); i = 0; i-- )

Отслеживать
ответ дан 5 янв 2012 в 12:16
376 3 3 серебряных знака 12 12 бронзовых знаков
у вас ошибок в коде много
5 янв 2012 в 12:30

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.2.12.4680

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *