Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/29: Рейтинг темы: голосов - 29, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 05.02.2020
Сообщений: 11

Определить, является ли массив симметричным относительно середины

18.03.2020, 14:50. Показов 6476. Ответов 27

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста.
Создать одномерный массив. Размер и элементы
массива вводит пользователь. Определить, есть ли массив симметричным относительно
середины.
Вывести массив в следующем формате:
идентификатор_масива {елем.1, елем.2 ..., елем.k}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.03.2020, 14:50
Ответы с готовыми решениями:

Дан массив из N элементов. Определить, является ли он симметричным относительно своей середины
Дан массив из N элементов. Определить, является ли он симметричным относительно своей середины ( например А=(1,3,5,3,1)-симметричный, а...

Является ли массив симметричным относительно середины
Проверить является ли заданный одномерный массив вещественных чисел симметричным относительно середины

Проверить, является ли массив симметричным относительно своей середины
Заполнить массив с терминала. Распечатать его. Проверить, является ли массив симметричным относительно своей середины. Т.е. последний...

27
 Аватар для Aviz__
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,491
18.03.2020, 15:25
Цитата Сообщение от elenka2712 Посмотреть сообщение
Определить, есть ли массив симметричным относительно
середины.
это, как?
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
18.03.2020, 16:23
Цитата Сообщение от Aviz__ Посмотреть сообщение
это, как?
Как то так?
Java
1
[1,2,3,4,5,0,5,4,3,2,1]
Только что принимать за середину не уточнено, число либо промежуток
0
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
18.03.2020, 16:28
Цитата Сообщение от StepFather322 Посмотреть сообщение
Только что принимать за середину не уточнено, число либо промежуток
Для массивов нечетного размера - число.

Не уточнено, с какого языка машинный перевод условия задачи.
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
18.03.2020, 16:47
Ну как то так?)
Java
1
2
3
4
5
6
7
8
public static void main(String[] args) {
        Integer[] arr = {1, 2, 3, 4, 5, 0, 5, 4, 3, 2, 1};
        Integer[] newArr = arr;
        Collections.reverse(Arrays.asList(newArr));
        if (Arrays.equals(arr, newArr))
            System.out.println("Заходят в бар коммунист, капиталист, православный и атеист.\n" +
                    "Бармен: Здравствуйте, Геннадий Андреич.\n");
    }
А нет) Как то странно они сравниваются между собой

Добавлено через 11 минут
Java
1
2
3
4
5
6
7
8
public static void main(String[] args) {
        Integer[] arr = {1,2,3,3,2,1};
        Integer[] newArr = arr.clone();
        Collections.reverse(Arrays.asList(newArr));
        if (Arrays.deepEquals(arr, newArr))
            System.out.println("Заходят в бар коммунист, капиталист, православный и атеист.\n" +
                    "Бармен: Здравствуйте, Геннадий Андреич.\n");
    }
Вот так кажется уже лучше, но все равно не уверен.
2
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
18.03.2020, 16:55
результат четвертой строки программы нигде не сохраняется. Вы сравниваете массив с его копией.
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
18.03.2020, 17:15
Sindbad_M, почему же?
Java
1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) {
        Integer[] arr = {1,2,3,4,5};
        Integer[] newArr = arr.clone();
        System.out.println("arr: " + Arrays.toString(arr));
        System.out.println("newArr: " + Arrays.toString(newArr));
        Collections.reverse(Arrays.asList(newArr));
        System.out.println("newArr after reverse: " + Arrays.toString(newArr));
    }
Result:
arr: [1, 2, 3, 4, 5]
newArr: [1, 2, 3, 4, 5]
newArr after reverse: [5, 4, 3, 2, 1]
Collection.reverse возвращает void. То есть меняет сам объект в памяти
0
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
18.03.2020, 17:35
Цитата Сообщение от StepFather322 Посмотреть сообщение
Collection.reverse возвращает void. То есть меняет сам объект в памяти
Да. Я смотрел на заголовки методов. Если судить именно по заголовкам, меняет он некоторый список созданный из массива. Теперь прочитал описание метода asList(), понял что ошибался.
0
 Аватар для Aviz__
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,491
18.03.2020, 18:30
Цитата Сообщение от StepFather322 Посмотреть сообщение
Как то так?
ога))
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Helper {
 
    public static void main(String[] args) {
        System.out.println(isArryaSimmetrical(new int[]{1,2,3,4,5,0,5,4,3,2,1}));
        System.out.println(isArryaSimmetrical(new int[]{2,3,4,5,0,5,4,3,2,1}));
        System.out.println(isArryaSimmetrical(new int[]{5,0,5}));
        System.out.println(isArryaSimmetrical(new int[]{2}));
    }
 
    static boolean isArryaSimmetrical(int [] array) {
        if (array.length == 1) return true;
        int poiterBegin = 0;
        int poiterEnd = array.length - 1;
        do {
            if (array[poiterBegin++] != array[poiterEnd--]) return false;
        } while ((poiterEnd - poiterBegin) > 2);
        return true;
    }
}
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.03.2020, 19:22
StepFather322, зачем столько ресурсозатрат? Классика не в моде? Имхо, решение Aviz__ куда как ловчее.
Java
1
2
3
4
5
6
private static boolean isArryaSimmetrical(int[] array) {
        for (int i = 0, j=array.length-1; i < array.length / 2; i++, j--) {
            if (array[i] != array[j]) return false;
        }
        return true;
    }
1
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
18.03.2020, 21:13
Цитата Сообщение от iSmokeJC Посмотреть сообщение
зачем столько ресурсозатрат? Классика не в моде?
Да просто захотелось решить как то по интересному. Не претендую на оптимальность, всего ли один из вариантов решения
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
19.03.2020, 10:24
Java
1
2
3
4
5
6
7
8
private static boolean isArraySymm(int [] a, int beg, int end)
{
    if (beg>=end) return true;
    if (a[beg]==a[end]) return isArraySymm(a,beg+1,end-1);
    return false;
}
 
// Вызов: t=isArraySym(x,0,x.length);
0
 Аватар для Aviz__
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,491
19.03.2020, 10:30
Catstail, мне нравится)).

Не по теме:

пока я не могу поставить +1 (пострадал за безостановочную правду или истину)

0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
19.03.2020, 10:40
Aviz__, спасибо. А нарушения, к счастью, имеют конечный срок действия!
0
19.03.2020, 10:43

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
конечный срок действия!
ну, кто не страдал за истину, тот не жил))

0
0 / 0 / 0
Регистрация: 05.02.2020
Сообщений: 11
19.03.2020, 11:59  [ТС]
насколько я поняла если непарное количество то например вот так 121,
585,
747,
а если парное то 1221,1331,
4554,
8558.
Заранее спасибо.
0
 Аватар для Aviz__
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,491
19.03.2020, 12:04
Цитата Сообщение от elenka2712 Посмотреть сообщение
непарное количество
ты через переводчик чтоль? это называется четное/не четное количество элементов
0
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
19.03.2020, 12:10
Цитата Сообщение от elenka2712 Посмотреть сообщение
Заранее спасибо.
почему "заранее"? Вы только первые два комментария пока прочитали? Там ниже решения приведены, причем на любой вкус, и циклами, и рекурсией, и через коллекции.
0
19.03.2020, 12:18

Не по теме:

Цитата Сообщение от Sindbad_M Посмотреть сообщение
первые два комментария пока прочитали?
к сожалению, тут бывает очень жесткий троллинг нас, тех, кто помогает. надеюсь, это не тот случай...

0
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
19.03.2020, 12:57
Все-таки, версии с циклом кажутся не достаточно идеальными, вариация подхода от iSmokeJC:

Java
1
2
3
4
5
6
private static boolean isArryaSimmetrical (int[] array) {
    for (int i = 0; i < array.length / 2; i++) {
        if (array[i] != array[array.length - 1 - i]) return false;
    }
    return true;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.03.2020, 12:57
Помогаю со студенческими работами здесь

Выяснить, является ли одномерный массив симметричным относительно своей середины
Здравствуйте, помогите пожалуйста с задачками, на экзамен очень нужно, зарание благодарна! 1. Вводить числа, пока сумма введенных чисел...

Определить является ли массив симметричным относительно побочной диагонали
дан квадратный массив целых(вещественных) чисел. Определить является ли массив симметричным относительно побочной (вспомогательной)...

Определить, является ли массив симметричным относительно побочной диагонали
Дан произвольный двумерный массив целых чисел.Размерность 4 на 4.О пределить является ли массив симметричным относительно побочной...

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

Определить является ли массив симметричным относительно главной и побочной диагонали
Дан массив (nxn). Определить является ли массив симметричным относительно главной и побочной диагонали. Если не является-обнулить все...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru