сортировка массива

Тема в разделе "Общие вопросы по С и С++", создана пользователем backspace, 7 авг 2010.

Статус темы:
Закрыта.
  1. backspace

    backspace Гость

    Подскажите решение задачи(хотя бы в общих шагах):
    В матрице n-го порядка переставить строки так, чтобы на главной диагонали матрицы были расположены элементы, наибольшие по абсолютной величине.
     
  2. evg2108

    evg2108 Гость

    Может так:

    1. Сравниваешь во всех строках значение первого элемента по абсолютной величине. Ту строку у которой первый элемент наибольший меняешь с первой строкой местами.

    2. Сравниваешь во всех оставшихся строках вторые элементы по абсолютной величине. Ту строку у которой второй элемент наибольший меняешь со второй строкой местами.

    ....

    n-1. Сравниваешь во всех двух оставшихся строках предпоследние элементы по абсолютной величине. Ту строку у которой предпоследний элемент наибольший меняешь с предпоследней строкой местами.

    n. Оставшаяся строка будет стоять на последнем месте.

    Если при сравнивании соответствующих элементов найдено несколько максимальных элементов, равных по абсолютной величине, то необходимо сравнить в этих строках следующий элемент и выбрать строку для которой этот элемент будет минимален. Если же, при этом, найдено несколько минимальных элементов, равных по абсолютной величине, то необходимо сравнить в этих строках следующий элемент и выбрать строку для которой этот элемент будет минимален. И т. д.
    Осуществить это можно, например с помощью рекурсии.

    Это просто мой интуитивный набросок. Но по моему так и надо.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей