Как поменять элементы массива местами java
Перейти к содержимому

Как поменять элементы массива местами java

  • автор:

Поменять значения местами в массиве

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

В данном массиве целых чисел nums меняют местами значения первого и последнего элементов массива, второго и предпоследнего и т. Д., Если два обмененных значения четны.

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

Поменять местами в массиве значение
Поменять местами в массиве значение 1-го и 2-го, 3-го и 4-го и так далее элементов.Подсчитать в.

Поменять местами значения
Написал прогу с данным условием: Поменять местами в массиве значения 1-го и 2-го, 3-го и 4-го и.

Поменять значения местами
public void sortEntities(ArrayList<EntityPlayer> enemies) < int n = enemies.size(); .

В массиве поменять местами максимальный элемент на минимальный
В массиве поменять местами максимальный элемент на минимальный Товарищи подскажите пожалуйста.

Эксперт Java

3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
что непонятно?
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

В двумерном массиве поменять местами элементы диагоналей
В двумерном массиве поменять местами элементы диагоналей (главной и побочной). Пожалуйста помогите

Поменять местами значения в массиве
Не хочет компилироваться(( Подскажите, что не так?? #include <stdio.h> int main()< int.

В массиве А поменять местами значения 1-го и К-го столбцов
Даны целые массивы A, B и значения К и L (0<=K<=9, 0<=L<=9). Массивы преобразовать следующим.

Поменять местами min и max значения в массиве
Даны массивы А1, … , А20 В1, … , В20 Поменять местами Аmin и В max .

В массиве поменять местами его максимальное и минимальное значения
В массиве из 15 вещественных чисел поменять местами его максимальное и минимальное значения.

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

Java Поменять местами элементы массива

Помогите поменять местами max и min значение массива. Сами значения нашёл, местами поменял, а как это в массиве непосредственно сделать. Подозреваю, что нужны индексы для этого, но как? мой код:

 int[] arr = new int[] ; int max = arr[0]; int min = arr[0]; int maxInd = 0; int minInd = 0; for (int i = 0; i < arr.length; i++) < max = Math.max(max, arr[i]); min = Math.min(min, arr[i]); >int temp = min; min = max; max = temp; System.out.println(min); System.out.println(max); > 

Отслеживать
задан 15 янв 2021 в 2:23
113 2 2 серебряных знака 9 9 бронзовых знаков

вам надо найти не сами занчения max и min, а их индексы в массиве. Имея индексы, можно легко поменять элементы местами.

15 янв 2021 в 2:48
В том-то и вопрос. Просто без значения элемента номер индекса не имеет смысла. Нет?
15 янв 2021 в 3:05

Если у вас есть номер индекса, то у вас уже есть значение, так как по номеру индекса всегда это значение можно получить.

15 янв 2021 в 4:08

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

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

int[] arr = new int[]; int max = arr[0]; int min = arr[0]; int maxInd = 0; int minInd = 0; for (int i = 0; i < arr.length; i++) < if (max >arr[i]) < // сравниваем maxInd = i; // запоминаем индекс max = arr[i]; // запоминаем значение >if (min < arr[i]) < // сравниваем minInd = i; // запоминаем индекс min = arr[i]; // запоминаем значение >> // переставляем элементы int temp = arr[minInd]; arr[minInd] = arr[maxInd]; arr[maxInd] = temp; Arrays.stream(arr).forEach(e-> System.out.println(e)); // вывод массива 

Отслеживать
ответ дан 15 янв 2021 в 3:40
678 3 3 серебряных знака 10 10 бронзовых знаков
Запоминать значение не обязательно, если вы запомнили индекс.
15 янв 2021 в 4:07

  • java
  • for
    Важное на Мете
Похожие

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

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

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

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

Как поменять элементы массива в обратном порядке в Java

Напишите программу, которая меняет местами элементы одномерного массива из 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 ] ) ;

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

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

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

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). Граница выполнения массива показана оранжевой линией на рисунке.

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

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

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

Как поменять местами строки со столбцами в матрице Java?

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

int[][] board = new int[array[0].length][array.length]

Ну а далее этот массив заполнить

private int[][] rotateArray(int[][] array) < int[][] board = new int[array[0].length][array.length] for(int i=0; i> return board; >

Ответ написан более трёх лет назад
Нравится 1 1 комментарий
Код некорректный, не обращайте внимание.
Не знаком с Java, но у вас постоянно j обнуляется и выше 1 не идёт, сделайте в 2 цикла
Ответ написан более трёх лет назад
Koshkasobaka @Koshkasobaka Автор вопроса
Изначально так и пыталась, но тогда вообще возвращается не измененный массив..

for (int i = 0; i < array.length; i++) < for (int j = 0; j < array.length; j++) < int box = board[i][j]; board[i][j] = board[j][i]; board[j][i] = box; >>

Koshkasobaka, На всякий случай посмотрите что выводит array.length, а вообще спрашиваете длину массива array, но внутри работаете с board.

Если мне не изменяет память, то вот так:

for(int i=0; i >

В С# решение простое:
// массив a[i,z] создан ранее, размер квадратного массива n, n
Console.WriteLine («Исходный массив»);
for(i = 0; i < n; i++)
for(z=0; z < n; z++)
Console.Write(«» , a[i, z]);
>
Console.WriteLine( );
>
//Меняем местами строки и столбцы
for (i = 0; i < n; i++)
for ( z = 0; z < 0; z++)
Console.Write(«», a[z, i]);
>
Console.WriteLine( );
>
Console.ReadKey( );

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

java

  • Java
  • +1 ещё

Как интегрировать Java в 1C?

  • 2 подписчика
  • 8 часов назад
  • 158 просмотров

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

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