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

Дан двумерный массив размерностью n × m

19.02.2020, 19:37. Показов 1980. Ответов 20

Студворк — интернет-сервис помощи студентам
Дан двумерный массив размерностью n × m, заполненный слу-чайными числами. Определить, существует ли в этом массиве столбец, в котором содержатся минимальный и максимальный элементы всего массива одновременно.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.02.2020, 19:37
Ответы с готовыми решениями:

Дан массив размерностью 4х4, найти сумму 2-ой и 3-ей строки
а что не так? public static void main(String args) { int a = new int; int m = 0; int n = 0; ...

Дан двумерный массив A размером 4 × 5
Дан двумерный массив A размером 4 × 5, заполненный целыми числами. Требуется сформировать одномерный массив B, каждый элемент которого...

Дан целочисленный двумерный массив
Дан целочисленный двумерный массив, значения элементов которого, лежат в интервале. Вычислить суммы элементов по строкам и используя...

20
20 / 16 / 6
Регистрация: 15.02.2020
Сообщений: 78
19.02.2020, 21:59
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
43
44
45
46
47
48
49
50
51
52
53
54
public class Main {
    public static void main(String[] args) {
        int[][] mass = new int[8][5];
        for (int a = 0; a < mass.length; a++) {
            for (int b = 0; b < mass[a].length; b++) {
                mass[a][b] = b;
            }
        }
        mass[0][4]=-500;
        mass[1][4] =1000;
        int max = max(mass);
        int min = min(mass);
 
        System.out.println(number(mass, max, min));
    }
 
    static int max(int[][] mass) {
        int max = Integer.MIN_VALUE;
        for (int a = 0; a < mass.length; a++) {
            for (int b = 0; b < mass[a].length; b++) {
                if (max < mass[a][b]) max = mass[a][b];
            }
        }
        return max;
    }
 
    static int min(int[][] mass) {
        int min = Integer.MAX_VALUE;
        for (int a = 0; a < mass.length; a++) {
            for (int b = 0; b < mass[a].length; b++) {
                if (min > mass[a][b]) min = mass[a][b];
            }
        }
        return min;
    }
 
    static Object number(int mass[][], int max, int min) {
 
        boolean minimum = false;
        boolean maximum = false;
        for (int a = 0; a < mass[0].length; a++) {
            for (int z = 0; z < mass.length; z++) {
                if (mass[z][a] == min) minimum = true;
                if (mass[z][a] == max) maximum = true;
            }
            if (maximum && minimum) {
                return a;
            }
            minimum = false;
            maximum = false;
        }
        return "Таких столбцов нет";
    }
}
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.02.2020, 22:25
Aksters, апгрейд -> максимум и минимум можно искать сразу в процессе заполнения массива
0
20 / 16 / 6
Регистрация: 15.02.2020
Сообщений: 78
19.02.2020, 22:38
iSmokeJC, А можно максимум и миниму искать вообще при проверке столбцов)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.02.2020, 22:43
Aksters, это как же?
0
20 / 16 / 6
Регистрация: 15.02.2020
Сообщений: 78
19.02.2020, 22:46
iSmokeJC, Это по сути дебилизм но находим максимум и минимум каждого столбца, сравниваем их между собой и делаем вывод.Но я сам понимаю какой это бред)
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
19.02.2020, 23:13
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
    public static void main(String[] args) {
        Random random = new Random(System.currentTimeMillis());
        boolean exists = false;
        int columns = 6;
        int rows = 8;
        int min = Integer.MAX_VALUE;
        int max = Integer.MIN_VALUE;
        int maxColumn = 0;
        int[][] arr = new int[rows][columns];
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < columns; j++) {
                arr[i][j] = random.nextInt(100);
                if (arr[i][j] > max) {
                    max = arr[i][j];
                    maxColumn = j;
                } else if (arr[i][j] < min)
                    min = arr[i][j];
            }
        }
        System.out.println(Arrays.deepToString(arr));
        for (int i = 0; i < rows; i++) {
            if (arr[i][maxColumn] == min)
                exists = true;
        }
        if (exists)
            System.out.println("Существует");
        else
            System.out.println("Не судьба");
    }
Вот еще такое придумал, на оценку так сказать. Не знаю как в решении выше, но недостаток моего варианта, что он не учитывает возможность наличия нескольких минимальных и максимальных элементов. Мб кто то придумает как оптимально исправить это.
0
20 / 16 / 6
Регистрация: 15.02.2020
Сообщений: 78
19.02.2020, 23:42
StepFather322,
Java
1
2
3
4
5
 for (int i = 0; i < rows; i++) {
            if (arr[i][maxColumn] == min){
                exists = true;
breack; }  //Я прав?
        }
"о недостаток моего варианта, что он не учитывает возможность наличия нескольких минимальных и максимальных элементов"(я не нашел как цитировать)
А разве в подобных задачах при условии наличия нескольких чего нибудь выводится не первое попавшиеся?

Добавлено через 2 минуты
И еще: Дан двумерный массив размерностью n × m. Не вы его создаете, а именно вам приходит в виде аргумента. А вы ищите значения при создании. Так что мой вариант с методами будет по моему правильнее. Хоть в чем то в программирование дайте погордиться)
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
19.02.2020, 23:55
Цитата Сообщение от Aksters Посмотреть сообщение
Не вы его создаете, а именно вам приходит в виде аргумента. А вы ищите значения при создании.
Это пример, ничего не мешает создать сканер и считывать размер. И в чем проблема поиска элементов при создании?
Цитата Сообщение от Aksters Посмотреть сообщение
А разве в подобных задачах при условии наличия нескольких чего нибудь выводится не первое попавшиеся?
Так и есть, проблема в том что если максимальных и минимальных элементов несколько, мой пример учитывает индекс первого найденного, а при условии что их несколько, возможен вариант того что где то все таки существует такой столб и программа выведет не верный результат
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
20.02.2020, 00:34
StepFather322, теперь переделай программу, чтобы можно было вводить массив с клавиатуры, А способ заполнения массива должен выбирать пользователь.
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
20.02.2020, 00:44
Цитата Сообщение от xoraxax Посмотреть сообщение
А способ заполнения массива должен выбирать пользователь.
Цитата Сообщение от Valkiriya616 Посмотреть сообщение
заполненный слу-чайными числами
Цитата Сообщение от xoraxax Посмотреть сообщение
теперь переделай программу, чтобы можно было вводить массив с клавиатуры,
Я предоставил алгоритм решения задачи, возможно не самый оптимальный, но все же. А о том, откуда берутся данные о размерности массива, с клавиатуры,случайные или из файла пусть уже позаботится тот кому этот алгоритм нужен
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
20.02.2020, 00:49
StepFather322, ты там вопросы задавал в одном из сообщений. Вот это как раз ответ был тебе на подумать. Заодно почитай, что uncle bob думает про то, как надо писать код и как не надо
0
20.02.2020, 00:54

Не по теме:

xoraxax, я совершенно не понимаю о чем ты говоришь

0
20 / 16 / 6
Регистрация: 15.02.2020
Сообщений: 78
20.02.2020, 00:56
StepFather322,
"Это пример, ничего не мешает создать сканер и считывать размер. И в чем проблема поиска элементов при создании?"
в том, что вы не думали что вам может приходить готовый массив из вне. Не обязательно он будет приходить даже с консоли.
Я когда катал подобные задачи, там вообще на тесте просто передавали нужный массив в аргументы мейна. И что тогда? Вы будете создавать еще один массив и производить свои действия?
весь один из принципов ооп состоит в том, что мы берем и отправляем что то в метод. А метод тебе выдает готовый результат.
А что будет у вас если массив нужно будет с принимать с другого классса?
А что будет если вообще считывать с файла?
У меня сверху сканер воткнул, отправил масив в метод.
Прикрутил сверху файлридер -отправил в метод.
Я очень извиняюсь если тут показался агрессивным или неким умником, никого не хотел обидеть. Да и не учился я на программиста, и не работаю в данной сфере. Просто пытаюсь разъяснить данную вещь. Если я дурак и что то не верно написал, то так и скажите, не обижусь
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
20.02.2020, 01:07
Цитата Сообщение от Aksters Посмотреть сообщение
в том, что вы не думали что вам может приходить готовый массив из вне
В задаче, человек написал:
Цитата Сообщение от Valkiriya616 Посмотреть сообщение
заполненный слу-чайными числами
Цитата Сообщение от Aksters Посмотреть сообщение
там вообще на тесте просто передавали нужный массив в аргументы мейна. И что тогда? Вы будете создавать еще один массив и производить свои действия?
Нет, я переделаю метод под свои нужды.
Цитата Сообщение от Aksters Посмотреть сообщение
А что будет у вас если массив нужно будет с принимать с другого классса?
А что будет если вообще считывать с файла?
Я не претендую на универсальность моего решения. Более того, я не реализую часть какого либо приложения. Я лишь предоставил один из возможных примеров решения задачи. Человек не знает как выполнить задачу(и не пытается, судя по другими темам) я ему отправил вариант решения в котором видно алгоритм. Далее человек волен делать с этим решением что угодно и переделывать его под свои нужды. К тому же никаких уточнений по поводу откуда берутся данные в задаче не сказано.
0
20.02.2020, 01:10

Не по теме:

StepFather322, Все, оставим тему. Удачи тебе, и всего наилучшего. Искренне.

0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.02.2020, 08:43
Цитата Сообщение от Aksters Посмотреть сообщение
весь один из принципов ооп состоит в том, что мы берем и отправляем что то в метод. А метод тебе выдает готовый результат.
0
20 / 16 / 6
Регистрация: 15.02.2020
Сообщений: 78
20.02.2020, 08:54
iSmokeJC, Я не прав? Мы делегируем выполнение задачи об'єкту. В данном случае методу.Поправь, если не прав, а то еще где нить сказану же это.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.02.2020, 08:57
Передача аргумента в метод в этом же классе - не есть делегирование задачи объекту.
Вот если передавать аргумент методу другого объекта - тогда да. Но это не принцип ООП.
0
20.02.2020, 09:03

Не по теме:

iSmokeJC, Ну я имел ввиду 2 строчку твою. То что не принцип ооп, спорить не буду, ибо опыта нет совсем. Но все же как я понял в EE, а java в зачастую это именно EE, ты именно раскидываешь по методам, при условии что каждый метод делает одно действие. Потому и катаю вечно методами, ибо именно на EE учиться буду. Опять спамлю, но куда деваться

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.02.2020, 09:03
Помогаю со студенческими работами здесь

Дан двумерный массив, содержащий 3 строки и 4 столбца. Упорядочить массив по убыванию элементов 3-ей строки
у меня какая-то чушь выходит всё время. кто-нибудь может помочь, пожалуйста ?

Дан двумерный массив, найти количества элементов каждый строки и их сумму
дан двумерный массив, найти количества элементов каждый строки и их сумму

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

Создать двумерный массив, опираясь на другой двумерный массив
У меня есть такой массив 0 0 0 0 0 0 0 6 3 2 2 8 9 3 7 6 8 3 4 5 1 0 0 0 0 0 0 0 0 0 0 0 0...

Дан двумерный массив размерностью N*M
Дан двумерный массив размерностью N*M ( N и M вводятся с клавиатуры). Найти кол-во всех отрицательных чисел данного массива. Произвести...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru