Важная информация
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Сортировка матрицы странным способом

  1. #1 Сортировка матрицы странным способом 
    Новичок
    Регистрация
    05.10.2019
    Сообщений
    4
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Здравствуйте, на первом курсе инф. безопасности дали лабораторную, но задание меня ввело в ступор. Возможно я чего то не понял, но хочу попросить вас подсказать идею решения, код я напишу самостоятельно. Само задание: Дана матрица n на m, необходимо переставляя сроки и столбцы этой матрицы упорядочить элементы матрицы так, чтобы они шли по возрастанию в каждой строке и каждом столбце, слева направо и сверху вниз. Неясно, как можно отсортировать массив переставляя строки и столбцы. Спасибо.
    Ответить с цитированием  
     

  2. #2  
    Профи
    Регистрация
    09.11.2013
    Сообщений
    295
    Сказал(а) спасибо
    17
    Поблагодарили 81 раз(а) в 55 сообщениях
    сначала сортируй строки, потом по столбцы (по первому элементу, по второму...)
    Ответить с цитированием  
     

  3. #3  
    Новичок
    Регистрация
    05.10.2019
    Сообщений
    4
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Да, но не для каждой же матрицы это возможно
    Ответить с цитированием  
     

  4. #4  
    Гуру Аватар для Абадябер
    Регистрация
    09.12.2010
    Адрес
    Беларусь, Минск
    Сообщений
    1,235
    Сказал(а) спасибо
    304
    Поблагодарили 187 раз(а) в 153 сообщениях
    Записей в блоге
    5
    Верно, не для каждой матрицы. Условие какое-то витиеватое, чем, к сожалению, нередко грешат постановки задач. Лучше всего подойти к преподавателю и уточнить, чего именно требует условие, и на месте объяснить свои сомнения - мол вот условие хочет этого, а это как бы невозможно в моем понимании.
    Дружба-магия-радость!
    Ответить с цитированием  
     

  5. #5  
    Профи
    Регистрация
    09.11.2013
    Сообщений
    295
    Сказал(а) спасибо
    17
    Поблагодарили 81 раз(а) в 55 сообщениях
    Код :
    ;;; (mx-sort '((5 6 4)(2 1 7)(1 3 2)))
    (defun mx-sort (mx)
      (labels 
       ( (_sort (x y) (if (and x y (= (car x) (car y)))
            (_sort (cdr x) (cdr y))
            (< (car x) (car y))))
       )
        (sort (mapcar #'(lambda (x) (sort x '<)) mx) #'_sort)
      )
    )
    Ответить с цитированием  
     

  6. #6  
    Новичок
    Регистрация
    05.10.2019
    Сообщений
    4
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    ur_naz, так как мы безопасники, мы изучаем низкоуровневые методы и sort нужно расписывать через простейшее. Но я рассмотрю это решение, спасибо. Абадябер, могу приложить оригинал постановки задачи, может я что то неясно написал) Но смысл тот же (на картинке задание номер 17). Вообще как я понял, переставляя строки и столбцы множество чисел в строке или столбце не меняется, меняется их порядок, а значит в какой то строке и каком то столбце должен быть минимальный элемент(и в этой же строке и столбце следующие по возрастанию элементы), который нужно выдвинуть в левый верхний угол, затем второй элемент в 0-вом столбце и в 0-вой строке. При этом следующий элемент диагонали должен встать автоматически, а если нет, то матрица не подходит для сортировки данным методом... Поправьте хотя бы эти мысли, или подтвердите))
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    Ответить с цитированием  
     

  7. #7  
    Гуру Аватар для Абадябер
    Регистрация
    09.12.2010
    Адрес
    Беларусь, Минск
    Сообщений
    1,235
    Сказал(а) спасибо
    304
    Поблагодарили 187 раз(а) в 153 сообщениях
    Записей в блоге
    5
    Задачка-то явно с подвохом. Мне, откровенно говоря, тоже ломает мозг и как-то рассудок отказывается такое условие принимать.
    Это что-то на нестандартное мышление что ли. Я бы и решил задачу нестандартно, устроив bogosort. Просто рандомно с помощью ГСЧ меняете строки, столбцы местами, что еще годно, главное случайно. Если удастся отсортировать по итогу - то шикарно. Не удастся - ну, значит не судьба. Это знаете, какая задача, такое и решение, мне кажется это справедливым
    Шутки шутками, но на данный момент я соображаю даже меньше вашего. Может просто торможу. Если появятся мысли, то дополню пост или новый напишу. Пока в голове пусто. Но с bogosort вариант можете рассмотреть. Если препод с чувством юмора, то оценит
    Дружба-магия-радость!
    Ответить с цитированием  
     

  8. #8  
    Профи
    Регистрация
    09.11.2013
    Сообщений
    295
    Сказал(а) спасибо
    17
    Поблагодарили 81 раз(а) в 55 сообщениях
    меняя местами строки и столбцы это как? допустим есть целочисленая матрица с не повторяющимися последовательными, но рандомно разбросанными по матрице, элементами. вы ищеете 0 и перемещаете его вверх и влево. затем ищете 1 и перемещаете его вверх и ноль улетает вниз.
    Ответить с цитированием  
     

  9. #9  
    Новичок
    Регистрация
    05.10.2019
    Сообщений
    4
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Ахахах, богосорт это топчек, особенно когда в задании указано каждый шаг описывать и выводить на экран. Буду писать мол рандомно переставляем эту строку сюда, эту туда, третью сюда; матрица не отсортировалась, значит опять рандомно туда, сюда, обратно, подождите еще 16 лет пожаласта))) А может и больше, раз колода карт 27000000000000000000 лет сортируется.
    Во всяком случае, надобно придумать как отбрасывать неподходящие матрицы чтобы 160 лет не ждать перебор всех вариантов. Попытаюсь завтра написать прогу для "правильных" матриц и спрошу у препода.
    Ответить с цитированием  
     

  10. #10  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,995
    Сказал(а) спасибо
    1,871
    Поблагодарили 1,004 раз(а) в 862 сообщениях
    Записей в блоге
    1
    Цитата Сообщение от MuteVP Посмотреть сообщение
    на первом курсе инф. безопасности
    Скажу честно, после задачи 6-го класса, похожей на задачу Эйнштейна, при том, что вокруг почти нет программистов - уже
    сложно чему-либо удивиться. У препода не просто нет чувства юмора, а этот засранец в открытую ищет таланты.
    Вот как с людми сейчас поступают, если ты не топ талантов - пинок под зад как плешивой шавке.

    Эта задача равносильна пятнашкам или кубику рубика. Туда страшно лезть, потому что рак мозга станет ближе.
    Тут можно только дать пару комментариев:

    По условию:
    - Исходной матрицы у нас нет.
    - Алгоритма проверки введённой матрицы у нас нет. (т.е. возможно ли из неё соорудить необходимое)

    По решению задачи:
    - Стоит методом сортировок и перестановок отдельных элементов получить "подходящую" к условию матрицу.
    При этом алгоритм должен остановиться если это невозможно.
    - Далее нужен алгоритм, который в конечное число шагов озвученными в условии перестановками введённую
    матрицу поровняет с "подходящей". Для этого нужно, вероятно, изучить свойства всех этих перестановок.
    Скорее всего есть какие-то тривиальные ходы, типа вытеснения какого-либо элемента после ряда перестановок.
    В любом случае это всё довольно геморно, в обдумывание этих нюансов не полезу абсолютно стопроцентно.

    На первый взгляд детерминированностью тут и не пахнет, так что вариант Абадябера, при тек. выч. мощах,
    на небольших матрицах выглядит приемлемо. Но это конечно, не решение в классическом его понимании.
    MuteVP, найдите где-нибудь олимпиадника, они такое говно любят.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

Страница 1 из 2 12 ПоследняяПоследняя
Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Сортировка
    от YClaw в разделе C/C++
    Ответов: 2
    Последнее сообщение: 31.10.2018, 12:21
  2. Ответов: 2
    Последнее сообщение: 16.11.2017, 12:52
  3. Каким способом можно повысить посещалку?
    от Gregor в разделе Общие вопросы оптимизации
    Ответов: 14
    Последнее сообщение: 02.07.2015, 08:26
  4. указатели и сортировка
    от anshelika в разделе C/C++
    Ответов: 1
    Последнее сообщение: 07.01.2014, 21:34
  5. Ответов: 7
    Последнее сообщение: 09.12.2011, 16:06
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •