Найти - Пользователи
Полная версия: Путем перестановки элементов квадратной вещественной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу (1,1), следующий по величине – в позиции (2, 2), следующий по величине – в позиции (3, 3) и т. д
Начало » Python для новичков » Путем перестановки элементов квадратной вещественной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу (1,1), следующий по величине – в позиции (2, 2), следующий по величине – в позиции (3, 3) и т. д
1
jozzyi1
Путем перестановки элементов квадратной вещественной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу (1,1), следующий по величине – в позиции (2, 2), следующий по величине – в позиции (3, 3) и т. д., заполнив, таким образом, всю главную диагональ. Найти номер первой из строк, не содержащих ни одного положительного элемента.

Пункты задания оформить в виде функций.
Использование глобальных переменных в функциях не допускается.

Не могу никак разобраться с данной задачей .
Есть описание самого алгоритма.

Описание алгоритма
Рассмотрим алгоритм решения нашей задачи.
Запросить размер массива N. Поскольку форма массива не определена, решим задачу для квадратной матрицы (NxN).
Изготовить массив – инициировать набором псевдослучайных вещественных чисел (функция MakeMatr()).
Вывести полученную матрицу (функция PrintMatr ())
Вычислить среднее значение и дисперсию (функция MidlDisp()).
Выполнить корректировку элементов (функция CorrectMatr ()).
Вывести откорректированную матрицу.
py.user.next
jozzyi1
Путем перестановки элементов квадратной вещественной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу (1,1), следующий по величине – в позиции (2, 2), следующий по величине – в позиции (3, 3) и т. д., заполнив, таким образом, всю главную диагональ. Найти номер первой из строк, не содержащих ни одного положительного элемента.
jozzyi1
Не могу никак разобраться с данной задачей .
Надо составить алгоритм, а потом уже для него код писать, который его реализует. Вас там учили этому или ещё нет? Без понимания этого ты будешь пытаться код написать сразу. И естественно, у тебя не получится ничего.

Алгоритм там будет такой:
1. Надо понять, сколько элементов главной диагонали у матрицы. Для любой матрицы - это количество её строк.
2. Надо отсортировать всю матрицу по убыванию, выстроив все её элементы в один ряд. Самый большой элемент может быть в самом конце матрицы, поэтому сортировать всё придётся.
3. В отсортированной матрице из второго пункта нужно взять первые элементы в количестве элементов главной диагонали из первого пункта.
4. И потом просто проставить эти взятые элементы из третьего пункта на главной диагонали.

Дальше у тебя идёт второе задание (про работу с этой получившейся матрицей, да и вообще с любой другой).
Алгоритм там будет такой:
1. Взять строку и её номер.
2. Найти в строке хотя бы один положительный элемент.
3. Если хотя бы один положительный элемент найден, то сохранить номер строки.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB