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

Проблема в нахождении минимального элемента среди максимальных элементов столбцов матрицы

22.10.2018, 20:11. Показов 1130. Ответов 6

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть проблема. Я уже несколько часов пытаюсь докопаться до истины, но чувствую, что просто чего-то не понимаю.
Есть матрица и в ней среди максимальных элементов столбцов нужно найти минимальный, а среди минимальных элементов строк максимальный элемент (оба с координатами). Так вот, если для активного массива этот код работает, то для остальных двух считает неверно. И если я заставлю код считать правильно, например, для 3-го массива, то для 2-го решение ломается. Надеюсь на вашу помощь, спасибо.

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 public static void main(String[] args) { 
  int max, min;
  int minmax = Integer.MAX_VALUE;
  int maxmin = Integer.MIN_VALUE;
  int x1 = 0, y1 = 0, x2 = 0, y2 = 0;
  
  /*int[][] array = {{1,-3,-2},
                   {0,5,4},
                   {2,3,2}}; */
  int[][] array = {{3,9,2,1},
                   {7,8,5,6},
                   {4,7,3,5},
                   {5,6,1,7}};
  /*int[][] array = {{3,1,2,5},
                     {2,0,0,3},
                     {-3,-5,-5,-2},
                     {0,-2,-2,1}}; */
  
     System.out.println("Матрица чисел: ");
            for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array[i].length; j++){
                    System.out.print(array[i][j] + "\t");
        }
        System.out.println();
            }
            
//-------------------------------------------------------  
  System.out.println("\nMAX по столбцам: ");
    for(int i=0; i<array.length; i++){
    max = array[0][i];
      for(int j=0; j<array.length; j++) {              
          if(max < array[j][i]){
              max = array[j][i];
 
           if (minmax > max){
                minmax = max;
                x1 = j+1;
                y1 = i+1;
           }
          } 
      }       
      System.out.print(max + "  ");
      
    }
    System.out.println("\nВерхняя чистая цена игры (MinMax) = " + minmax + "("+x1 +";"+y1+")");
    
//------------------------------------------------------- 
System.out.println("\nMIN по строкам: ");   
        for(int j=0; j<array.length; j++){ 
          min = array[j][0];
          for(int i=0; i<array.length; i++) {          
              if(min > array[j][i]){
                 min=array[j][i];
              
                if (maxmin < min){
                     maxmin = min;
                     x2 = j+1;
                     y2 = i+1; 
                }   
          } 
               
       }
         System.out.print(min + "  ");
    }
      System.out.println("\nНижняя чистая цена игры (MaxMin) = " + maxmin + "("+x2 +";"+y2+")");
      
//-------------------------------------------------------      
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.10.2018, 20:11
Ответы с готовыми решениями:

Найти минимум среди максимальных элементов столбцов матрицы
помогите выдаёт ошибку после компиляции вот код для переделки есть массив xнау а int min = a; for(int i = 1; i &lt; =n; ++i) { ...

Найти минимальный среди максимальных элементов столбцов матрицы
дана квадратная матрица порядка N.Найти минимальный среди максимальных элементов ее столбцов си

Среди максимальных элементов столбцов матрицы, найти минимальный.
Сформировать двумерный массив чисел. Среди максимальных элементов столбцов, найти минимальный.

6
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.10.2018, 20:20
Задачу на части разбей, каждую часть напиши в отдельном методе.
Например
Есть матрица: метод int[][] createMatrix(int width, int height);
среди максимальных элементов столбцов нужно найти: 1. делаешь метод int findMaxInNthColumn(int[][] array, int n); 2. Т.к. среди элементов - значит должна быть коллекция (массив). Значит нужен метод int[] collectColumnMaximums(int[][] array). Этот метод будет для каждого столбца матрицы вызывать метод findMaxInNthColumn, записывать его в массив.
нужно найти минимальный: делаешь метод int getMinimum(int[] array);
все просто
1
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
22.10.2018, 20:40
NimbleMan, скорей всего необходимо для каждого "подсчета" инициализировать переменные:
Java
1
2
minmax = Integer.MAX_VALUE;
maxmin = Integer.MIN_VALUE;
А вообще не понятно как этот код работает для двух массивов, если нет никакх процедур и/или циклов.
0
0 / 0 / 0
Регистрация: 29.08.2015
Сообщений: 5
22.10.2018, 20:52  [ТС]
Код написан для одного массива. Я имел ввиду, что если закомментить активный массив и раскомментить другой, тогда начинаются проблемы.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
22.10.2018, 20:57
NimbleMan, сделай, как написал xoraxax, это и поможет локализовать проблему и вообще по феншую
Декомпозиция рулит
0
0 / 0 / 0
Регистрация: 29.08.2015
Сообщений: 5
22.10.2018, 20:59  [ТС]
Если для вас это просто, то не могли бы вы пожалуйста поподробнее расписать. Просто я слабоват и не совсем представляю как это сделать.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.10.2018, 22:47
Куда ещё то подробнее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.10.2018, 22:47
Помогаю со студенческими работами здесь

Найти минимум среди максимальных элементов столбцов матрицы
вот код для переделки // Поиск максимального элемента среди минимальных int max = a; // Это будущий максимум, пока что равен...

Найти минимальный среди максимальных элементов столбцов матрицы.
В1(1).Дано целое число N (N &gt; 2) и набор из N вещественных чисел.Набор называется пилообразным, если каждый внутренний элемент либо больше,...

Поиск минимального элемента среди максимальных
Ищем максимальные элементы по строкам.В каждой строке свой максимальный элемент for j5:=0 to StringGrid2.RowCount-1 do ...

Вычислить произведение суммы максимальных элементов строк матрицы на сумму максимальных элементов столбцов матрицы
Вычислить произведение суммы максимальных элементов строк матрицы на сумму максимальных элементов столбцов матрицы. Напишите программу на...

Номер столбца минимального элемента среди максимальных
Народ, прошу тех, кто шарит в делфе. В программке нужно определить номер столбца минимального элемента среди максимальных. Максимальные...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru