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

Найти наибольший из одинаковых элементов двух массивов

10.12.2018, 22:02. Показов 2585. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составьте программу, проверяющую, есть ли в одномерных массивах A(N), B(N) одинаковые элементы, и если есть, отыскивающую среди них наибольший.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2018, 22:02
Ответы с готовыми решениями:

Создание массива из одинаковых элементов двух других массивов
Никак не удаётся написать данный код используя функции #include <stdio.h> #include <stdlib.h> #include <locale.h> ...

Сравнение двух массивов и вывод на экран их одинаковых элементов
Здравствуйте. Только начал изучать JavaScript. Хочу разобраться с вот такой задачкой: Заполнить два массива случайными числами; сравнить...

Найти наибольший элемент в каждом из двух массивов
Помогите пожалуйста!потерял лекцию по подропграммам в си,а задание нужно срочно сдать:( Ввести двумерные массивы x1 и x2 Найти ...

22
75 / 61 / 29
Регистрация: 20.04.2015
Сообщений: 415
11.12.2018, 03:15
Берешь элемент массива и проходишь в цикле по всем остальным элементам массива и проверяешь есть ли в массиве совпадения, если есть то сравниваешь значение с переменной темп и если новое значение больше переменной темп то присваиваешь ей новое значение по окончанию всех циклов return temp;
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
11.12.2018, 10:04
Цитата Сообщение от by_barry Посмотреть сообщение
одинаковые элементы, и если есть, отыскивающую среди них наибольший.
Как может быть наибольший, среди 2-х одинаковых? Что за наркоман составлял задачу?
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
11.12.2018, 10:14
Цитата Сообщение от Kukstyler Посмотреть сообщение
Что за наркоман составлял задачу?
{1,2,3,7,9}
и
{1,2,3,5,8}
вернет 3
Думаешь, что нужно сильно загнаться по герычу, чтобы такое придумать?
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
11.12.2018, 10:24
Цитата Сообщение от by_barry Посмотреть сообщение
Найти наибольший из одинаковых элементов двух массивов
Цитата Сообщение от Aviz__ Посмотреть сообщение
{1,2,3,7,9}
и
{1,2,3,5,8}
вернет 3
Это ты как такое вычислил?

Формулировка задачи проведена костным мозгом.

Я предполагаю, что подразумевается следующее:

Code
1
2
3
4
5
1,2,3,7,8 
и
1,2,3,5,9 
--------------
-,-,-,7,9
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
11.12.2018, 10:47
Цитата Сообщение от Kukstyler Посмотреть сообщение
Формулировка задачи проведена костным мозгом.
тебя прет от жестких выражений, чтоль?
новички часто путаю слова, думая, что смысл не меняется((. На мой взгляд, тут имеется ввиду следующее:
найти максимальный элемент из совпадающих, в двух одинаковых по длине массивах.
0
 Аватар для NiceJacket
109 / 89 / 25
Регистрация: 02.06.2018
Сообщений: 259
11.12.2018, 10:49
Такую формулировку можно трактовать двойственно:
1) Если в в двух массивах есть одинаковый(-ые) элемент(ы), то мы ищем наибольший элемент из этих двух массивов, т.е.
1,2,3,7,8
и
1,2,3,5,9

будет 9

2) Трактовка Aviz___
Т.е. смотрим, есть ли в массивах одинаковые элементы, если есть, то выводим тот одинаковый элемент, который наибольший:

1,2,3,7,8
и
1,2,3,5,9

будет 3

P.S. скорее всего, второй вариант
2
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
11.12.2018, 12:05
немного усложним задачу, а именно, вместо двух массивов будем искать в половинках одного:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.util.stream.IntStream;
 
public class Helper {
 
    private static boolean hasElemInSecondPartOfArr(int [] arr, int indexElem) {
        for (int j = arr.length/2; j < arr.length; j++) {
            if (arr[indexElem] == arr[j])
                return true;
        }
        return false;
    }
    
    public static void main(String[] args) {
        final int [] arrInt = {1,2,3,7,9,5,8,1,2,3,};
        int maxFromJoin = IntStream.range(0,arrInt.length/2)
                .filter(i -> hasElemInSecondPartOfArr(arrInt,i))
                .map(i -> arrInt[i])
                .max()
                .getAsInt();
        int maxFromNonJoin = IntStream.range(0,arrInt.length/2)
                .filter(i -> !hasElemInSecondPartOfArr(arrInt,i))
                .map(i -> arrInt[i])
                .max()
                .getAsInt();
        System.out.printf("%nМаксимальный из совпадающих = %d",maxFromJoin);
        System.out.printf("%nМаксимальный из НЕ совпадающих = %d",maxFromNonJoin);
    }
}
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,765
11.12.2018, 14:22
Цитата Сообщение от Kukstyler Посмотреть сообщение
Как может быть наибольший, среди 2-х одинаковых?
У двух массивов есть одинаковые элементы. Среди них найти наибольший. Что тут непонятного?
0
 Аватар для Valakin
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
11.12.2018, 14:29
Цитата Сообщение от korvin_ Посмотреть сообщение
Что тут непонятного?
непонятно в какой момент наибольший
1
 Аватар для NiceJacket
109 / 89 / 25
Регистрация: 02.06.2018
Сообщений: 259
11.12.2018, 14:38
Цитата Сообщение от Valakin Посмотреть сообщение
непонятно в какой момент наибольший
это что значит?
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
11.12.2018, 15:53
Aviz__, меня раздражают амёбные формулировки. Новичок или нет, человек должен на логическом уровне понимать, задача поставлена чётко и ясно, или нет. Если он этого не понимает, то у него будут серьёзные проблемы занимаясь пграммированием, и вообще по жизни. К тому же, как правило, новички копируют полносьтю текстс задачи. Так что претензия скорее не к ТС а к преподу, а точнее автору.

korvin_, тебе всё всегда понятно, мы в курсе, не у всех же такая светлая голова!
Как по мне, нифига не понятно. Трактовок данного "задания" может быть несколько - а в программировании, как называется нечётко поставленная задача (спецификации/ТЗ...)?!
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,765
11.12.2018, 17:17
Цитата Сообщение от Valakin Посмотреть сообщение
непонятно в какой момент наибольший
Во все моменты. Его наибольшесть не зависит от времени.

Цитата Сообщение от Kukstyler Посмотреть сообщение
тебе всё всегда понятно, мы в курсе, не у всех же такая светлая голова!
Что за ёрничание? Детский сад, ей б-гу.

Вот Aviz__ всё понял, потому что задача поставлена достаточно «чётко и ясно».
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
11.12.2018, 18:06
Цитата Сообщение от Kukstyler Посмотреть сообщение
то у него будут серьёзные проблемы
а тебе не все равно, что там у него будет или нет? Задача понравилась - решил (как понял, тебе же профит), не понравилась, прошел мимо. Что может быть проще, то?!!

Не по теме:

Цитата Сообщение от Kukstyler Посмотреть сообщение
меня раздражают амёбные формулировки.
очень надеюсь, что ты не мазохист...

0
230 / 199 / 71
Регистрация: 21.10.2016
Сообщений: 449
11.12.2018, 18:14
имхо, формулировка может трактоваться двойственно:
1) среди одномерных массивов;
2) среди одинаковых элементов.
Результаты могут быть разные.

Скорее всего, речь идет о втором варианте.
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
11.12.2018, 18:17
Цитата Сообщение от Хм Посмотреть сообщение
трактоваться двойственн
супер! вот и покажи по каждому варианту решения))
0
230 / 199 / 71
Регистрация: 21.10.2016
Сообщений: 449
11.12.2018, 18:31
В первом случае:
1) Выяснить, есть ли в массивах одинаковый элемент;
2) Если есть, то отыскать наибольший элемент в этих двух массивах.

Во втором случае:
1) Отыскать одинаковые элементы в обоих массивах;
2) Среди найденных элементов найти наибольший.

Код писать лень.
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
11.12.2018, 18:34
Цитата Сообщение от Хм Посмотреть сообщение
Код писать лень
да, поезда перенаправлять - это не код писать...
0
230 / 199 / 71
Регистрация: 21.10.2016
Сообщений: 449
11.12.2018, 19:23
Первый вариант:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class Task {
 
    static int max(int[] a, int[] b) {
        int max = a[1];
        for (int i = 0; i < a.length; i++) {
            if (a[i] > max) {
                max = a[i];
            }
        }
        for (int j = 0; j < b.length; j++) {
            if (b[j] > max) {
                max = b[j];
            }
        }
        return max;
    }
            
 
    public static void main(String[] args) {
        int [] a = {1, 2, 3, 7, 8};
        int [] b = {1, 2, 3, 5, 9};
 
        boolean flag = false;
 
        // Выяснить, есть ли в массивах одинаковый элемент
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < b.length; j++) {
                if (a[i] == b[j]) {
                    flag = true;
                }
            }
        }
 
        if (flag == true) {    // если есть одинаковые элементы
            int result = max(a, b);    // отыскать наибольший элемент
            System.out.println("Ответ: " + result);
        }
        else {
            System.out.println("Ответ: пустое множество.");
        }
    }
}

Второй вариант:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.*;
 
class Task2 {
 
    static int max(ArrayList<Integer> arr) {
        int max = arr.get(0);
        for (Integer element : arr) {
            if (element > max) {
                max = element;
            }
        }
        return max;
    }
 
    public static void main(String[] args) {
        int[] a = {1, 2, 3, 7, 8};
        int[] b = {1, 2, 3, 5, 9};
 
        // отыскать одинаковые элементы в обоих массивах
        ArrayList<Integer> arr = new ArrayList<>();
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < b.length; j++) {
                if (a[i] == b[j]) {
                    arr.add(a[i]);
                }
            }
        }
 
        if (arr.size() == 0) {
            System.out.println("Ответ: пустое множество");
        }
        else {
            int result = max(arr);  // среди найденных элеметов найти наибольший
            System.out.println("Ответ: " + result);
        }
    }
}
Аляповастенько конечно же, но все работает.
1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
11.12.2018, 20:56
Цитата Сообщение от Aviz__ Посмотреть сообщение
очень надеюсь, что ты не мазохист...
Мдас. Ты припиши в каком месте смеяться надо. И ехидные пиркольчики твоим друзям демонстрируй. Мы вместе пиво не пили.

korvin_. Как всегда, в своём амплуа. Я говорю, что описание задачи полное г.но! Ты заявляешься, и как это тебе присуще, выносишь "вердикт" - мол что тут непонятного.
Мы ж это с тобой уже обсуждали! Давай не будем по кругу ходить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.12.2018, 20:56
Помогаю со студенческими работами здесь

Найти среди элементов массивов a и z два одинаковых элемента с наименьшими индексами
Решил поделать задачки из книги и тут на тебе: Я нашел наименьший одинаковый элемент и его индекс. flag = False 'Цикл ...

Если в матрице нет двух одинаковых элементов, то найти сумму положительных элементов первого столбца, в противном случае
День добрый! Прошу помогите с кодом при нажатии кнопки чтобы, выполнял условие: &quot;Если в матрице нет двух одинаковых элементов, то...

Найти номера двух одинаковых элементов массива
Дан целочисленный массив размера N, содержащий ровно два одинаковых элемента. Найти номера одинаковых элементов и вывести эти номера в...

Найти индексы двух одинаковых элементов в матрице
Дана целочисленная матрица размера n X m, в которой имеются ровно два одинаковых элемента. Найти индексы этих элементов.

Найти количество одинаковых элементов в двух массивах
2) Даны два массива x и y. Найти количество одинаковых элементов в этих массивах, т. е. количество пар x = y для некоторых i и j). ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru