Написать программу которая выводит одномерный массив в обратном порядке

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

Решение:

Princeton_2.1
public class Test <
public static void main ( String [ ] args ) <
String [ ] a = < «Каждый » , » охотник » , » желает » , » знать » , » где » , » сидит » , » фазан » >;
//Выводим изначальный массив в консоль
for ( int i = 0 ; i < a . length ; i ++ ) <
System . out . print ( a [ i ] ) ;
System . out . println ( ) ;
int n = a . length ;
//Переменная, которая будет использоваться при обмене элементов
String temp ;
for ( int i = 0 ; i < n / 2 ; i ++ ) <
temp = a [ n — i — 1 ] ;
a [ n — i — 1 ] = a [ i ] ;
a [ i ] = temp ;
//Выводим конечный массив в консоль
for ( int i = 0 ; i < a . length ; i ++ ) <
System . out . print ( a [ i ] ) ;

Комментарии к задаче:

В результате выполнения этого кода получим перевернутый массив: вместо «Каждый охотник желает знать где сидит фазан» — «фазан сидит где знать желает охотник Каждый «

Язык C++ с нуля | #34 Реверс элементов массива в c++.

Как была решена задача? Основная ее часть — это фрагмент:

int n = a . length ;
String temp ;
for ( int i = 0 ; i < n / 2 ; i ++ ) <
temp = a [ n — i — 1 ] ;
a [ n — i — 1 ] = a [ i ] ;
a [ i ] = temp ;

Он по очереди меняет местами противоположные элементы массива, используя как посредника дополнительную переменную String temp (temp — от temporary, «временный»). Можно было бы обойтись и без нее, если бы массив хранил переменные числового типа.

Тут есть a[i] и малопонятное a[n-i-1]. Но на самом деле n-i-1 это просто формула для определения «противоположного» элемента массива:

task2_arr_prince

Если бы мы имели массив, который бы состоял из элементов a, b, c, d, e и f, то есть массив из 6 элементов (n=6), «противоположным» (то есть элементом a[n-i-1]) для каждого из них были бы f для a, e для b и d для c. Цикл из фрагмента кода выполнялся бы три раза, до элемента d (i=0, 1, 2). Граница выполнения массива показана оранжевой линией на рисунке.

Читайте также:
Razer не запускается программа

Так, обратите внимание, что мы не должны проходить циклом весь массив, чтобы поменять его элементы местами.

Надеемся — наша статья была Вам полезна. Есть возможность записаться на наши курсы по Java. Детальную информацию смотрите у нас на сайте.

  • ← Java 8 Stream Files
  • Раздача карт в покере в Java →

Источник: vertex-academy.com

ВЫВОД МАССИВА В ОБРАТНОМ ПОРЯДКЕ C# | РАБОТА С МАССИВАМИ | СИ ШАРП УРОКИ | ДОМАШНИЕ ЗАДАНИЯ # 7

Реверс массива

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

При реверсе массива первый элемент становится последним, а последний первым; второй — предпоследним, а предпоследний — вторым; третий элемент уходит на место третьего с конца, а тот на место третьего и т. д. Таких пар перестановок надо сделать в два раза меньше, чем длина массива, то есть переставлять элементы до тех пор, пока меняющиеся элементы не встретятся в центре массива.

Конечно, переставлять можно также, начиная с середины массива и двигаясь к его началу и концу. Однако вышеописанный способ немного проще.

Если в массиве нечетное количество элементов, то в середине массива находится один элемент, у которого нет пары и который обменивать не надо. Если же в массиве четное количество элементов, то в середине находится пара, которая также должна обменяться. В любом случае количество обменов будет равно количеству элементов массива нацело деленному на 2.

Таким образом, реверс массива происходит в цикле, количество итераций (проходов) которого равно не более половины от количества элементов. В теле цикла происходит обмен элементов. Если индексация (i) массива начинается с единицы, а количество элементов N, то индекс элемента, с которым должен происходить обмен будет находиться по формуле N-i+1. Если же индексация идет с нуля, то противоположный для i элемент находится как N-i-1.

Читайте также:
Установка программ на ssd диск

Pascal


реверс массива паскаль

const N = 10;
var
a: array[1..N] of integer;
i: byte;
b: integer;
begin
for i:=1 to N do
read(a[i]);

for i:=1 to N div 2 do begin
b := a[i];
a[i] := a[N-i+1];
a[N-i+1] := b;
end;

for i:=1 to N do
write(a[i],’ ‘);

writeln;
end.

1 2 3 4 5 6 7 8 9 -1
-1 9 8 7 6 5 4 3 2 1

Язык Си

#include
#define N 9
main() int a[N], i, b;
for (i=0; i < N; i++) scanf(«%d»,
for (i=0; i < N/2; i++) b = a[i];
a[i] = a[N-i-1];
a[N-i-1] = b;
>
for (i=0; i < N; i++) printf(«%d «,a[i]);
printf(«n»);
>

1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1

Python

реверс массива python (питон)

a = input()
a = a.split()
a = [int(i) for i in a]
for i in range(len(a)//2):
b = a[i]
a[i] = a[len(a)-i-1]
a[len(a)-i-1] = b
#a.reverse()
#a = a[::-1]
print(a)

1 2 3 4 5
[5, 4, 3, 2, 1]

В Python есть метод, позволяющий сделать реверс списка reverse().
Также можно перевернуть список с помощью операций взятия среза. Срез a[::-1] берет все элементы из списка, начиная с конца.

В коде ниже второй и третий способ указаны как комментарии.

Basic-256

N = 10
dim a(N)
for i=0 to N-1
input a[i]
next i
for i=0 to N2
b = a[i]
a[i] = a[N-i-1]
a[N-i-1] = b
next i
for i=0 to N-1
print a[i]+» «;
next i
print

11
101
33
22
15
64
3423
26
7
456
456 7 26 3423 15 64 22 33 101 11

Источник: gospodaretsva.com

Как вывести массив в обратном порядке на Си?

size как отдельная переменная не нужна. Можно же подсчитать. #define ASZ(a) (sizeof(a)/sizeof(a[0])) .

31 окт 2020 в 19:13

И второй вариант (когда i лишняя, да и вообще много букв в оригинале) size_t size = ASZ(a); while (size—) printf(. a[size]); .

31 окт 2020 в 19:16

#include int main(void) < int arr[5] = ; for (int i = 5; i > 0; —i) printf(«%d «, arr[i-1]); >
Отслеживать
ответ дан 31 окт 2020 в 15:50
Джонни Кэтсвилл Джонни Кэтсвилл
356 1 1 серебряный знак 6 6 бронзовых знаков
Смотри комментарии к другому ответу.
31 окт 2020 в 19:19

  • c
  • массивы
  • сортировка
  • вывод
    Важное на Мете
Читайте также:
Как изменить значок программы в visual studio

Похожие

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

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

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

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru