Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 25.11.2009, 20:07   #1 (permalink)
citrus
Member
 
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Обработка квадратной матрицы

подскажите пожалуйста, как найти в квадратной матрице наименьший из максимальных элементов строк матрицы и вывести номер строки где он находится?

Пожалуйста, не вешайте новые задачи на старые темы! Создавайте свои темы!
Модератор
citrus вне форума   Ответить с цитированием

Старый 25.11.2009, 20:07
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

В некоторых случаях просто никак не обойтись без прочтения аналогичных тем

Обработка металла
Обработка txt
Матрицы

Старый 25.11.2009, 20:26   #2 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,925
Записей в дневнике: 10
Сказал(а) спасибо: 139
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

надо более подробное описание алогритма. как я понял, надо:
  1. найти в каждой строке максимальный элемент
  2. найти из максимальных минимальный
  3. вывести номер строки, где находится минимальный из максимальных


так?
MrSTEP вне форума   Ответить с цитированием
Старый 25.11.2009, 20:39   #3 (permalink)
citrus
Member
 
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от MrSTEP Посмотреть сообщение
надо более подробное описание алогритма. как я понял, надо:
  1. найти в каждой строке максимальный элемент
  2. найти из максимальных минимальный
  3. вывести номер строки, где находится минимальный из максимальных


так?
так то оно так) это я и сам понимаю, мне бы вот сам алгоритм этот..))) всмысле как он пишется) я понимаю как найти мах элемент в матрице, а ка это сделать в каждой строчке и найти среди них минимальный?
citrus вне форума   Ответить с цитированием
Старый 25.11.2009, 20:55   #4 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,925
Записей в дневнике: 10
Сказал(а) спасибо: 139
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

citrus, не расстраивайтесь, все предельно просто. Вот примерный словесный алгоритм, по нему постарайтесь составить программу. Так для вас будет полезнее - сможете научиться писать программы, а не списывать готовые. итак, алгортим:
  • вводим массив
  • внешним циклом выбираем строку;
  • внутренним циклом находим максимальный элемент в строке;
  • закрываем циклы;
  • в цикле находим минимальный их найденных максимальных;
  • выводим его, и его номер;
  • все

    Пробуйте а что непонятно, спрашивайте






MrSTEP вне форума   Ответить с цитированием
Старый 25.11.2009, 21:24   #5 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,874
Сказал(а) спасибо: 318
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Посмотрите эту тему: Паскаль. Обработка таблицы . Там рассмотрена аналогичная задача.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 25.11.2009, 22:36   #6 (permalink)
citrus
Member
 
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
в цикле находим минимальный их найденных максимальных;
вот этот момент непонятен.. какие значения для цикла и с чем мне сравнивать максимальные элементы? Ведь изначально после того как я делаю внешний цикл по строчкам, внутренний по столбцам, то я сравниваю значения матрицы с max. и либо присваиваю их или нет. Но в итоге то у меня получается максимальный элемент матрицы..
citrus вне форума   Ответить с цитированием
Старый 26.11.2009, 00:43   #7 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,925
Записей в дневнике: 10
Сказал(а) спасибо: 139
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

Во-первых, приношу извинения за опечатку. в фразе "в цикле находим минимальный их найденных максимальных;" вместо иХ должно быть иЗ.
Во-вторых, как я предлагаю решить эту проблему:
Цитата:
... я сравниваю значения матрицы с max. и либо присваиваю их или нет. Но в итоге то у меня получается максимальный элемент матрицы..

все верно. Вы находите максимальный в строке, и записываете его в массив. А потом в этом массиве уже ищете минимальный, и далее по тексту
MrSTEP вне форума   Ответить с цитированием
Старый 26.11.2009, 01:15   #8 (permalink)
citrus
Member
 
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

т.е. вы предлагаете создать новый одномерный массив (вектор) из максимальных элементов столбцов матрицы? хм..кстати можно попробовать, но вообще вроде это должно как-то легче делаться.. спасибо большой за подсказку, буду дальше мучать эту задачу)
citrus вне форума   Ответить с цитированием
Старый 26.11.2009, 09:43   #9 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,874
Сказал(а) спасибо: 318
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Уважаемый Citrus, а я ведь не для просто так дал ссылку на другую тему. Совершенно напрасно Вы это дело проигнорировали. В той задаче требовалось найти минимальный среди максимальных элементов столбцов таблицы. Вот фрагмент программы оттуда:
Код:
FOR j:=1 TO s DO
 begin
  MVcol[j]:=a[1,j];
  FOR i:=2 TO d DO
   IF a[i,j]>MVcol[j] THEN MVcol[j]:=a[i,j];
 end;

 Min_Max:=MVcol[1];
  FOR j:=2 TO s DO
   IF Min_Max>MVcol[j] THEN Min_Max:=MVcol[j];
Здесь MVcol[j] - максимальный элемент j-того столбца, Min_Max - минимальный из этих максимальных элементов, i - номер строки, j - номер столбца, d - количество строк, s - количество столбцов. Вся разница в том, что у Вас вместо столбцов - строки. Но это переделка пустяковая.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Старый 26.11.2009, 09:47   #10 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,925
Записей в дневнике: 10
Сказал(а) спасибо: 139
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

Да, я именно это и предлагаю, на мой взгляд, так проще всего Алгоритм рабочий, я проверял. Так что успехов
MrSTEP вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 06:12.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.