Вот пытаюсь решить такую задачку :
Составить процедуру MatNorm(A,n,m,ires), которая осуществляет нормирование матрицы A размерности (m х n). В переменную ires логического типа необходимо занести значение true, если операция завершена благополучно, и значение false, если хотя бы в одной из строк матрицы A содержатся только нулевые элементы.
Не пойму как нормировать матрицу? Подскажите кто нибудь, достаточно теории.
Заранее спасибо!
Определителем?
куда копать?
Если можешь скинь сссылки)
так и не понял как определитель может мне помочь...(
http://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0_%D0%B2%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B0#.D0.9C.D0.B0.D1.82.D1.80.D0.B8.D1.87.D0.BD.D0.B0.D1.8F_.D0.BD.D0.BE.D1.80.D0.BC.D0.B0
не уверена, что оно..
Норма матрицы, тоже думаю не поможет...
Неужели никто не делал такую задачу?
Нормирование матрицы? Поэлементно:
mx[i, j] := (mx[i, j] - minvalue) / (maxvalue - minvalue);, где minvalue и maxvalue - соответственно минимальное и максимальное значение в матрице... В результате нормирования все элементы матрицы лежат в интервале 0 .. 1. Тебе это надо?
mx[i, j] := (mx[i, j] - minvalue) / (maxvalue - minvalue);, где minvalue и maxvalue - соответственно минимальное и максимальное значение в матрице... В результате нормирования все элементы матрицы лежат в интервале 0 .. 1. Тебе это надо?
Теорию чего? Математики? Это ж элементарно, чтобы привести набор значений к интервалу 0 .. 1 надо сначала изо всех значений вычесть минимум, тогда все они будут в интервале 0 .. (max - min). Что теперь надо сделать, чтобы этот интервал стал 0 .. 1? Правильно, разделить на (max - min). Какая еще теория нужна?
Тогда решение может быть проще. Саму-то нормированную матрицу ведь выводить не нужно?
Минимальный элемент матрицы должен быть первым в строке и строка должна состоять из одинаковых символов. Т.е. просматриваем по строкам, прерываем просмотр, если найдено первое несовпадение с первым элементом строки. Максимальный элемент искать вообще необязательно - даже вредно: какая разница, на что Вы разделите ноль, зато деления на ноль никогда не будет.
На больших не специально подобранных матрицах выигрыш будет очень существенным.
5 4 3 2
6 3 2 1
7 3 2 1
8 2 0 3
Нерпавильно? Но ведь матрицу и НЕ НАДО нормировать. Достаточно проверить, подлежит ли матрица нормированию: не будет ли после нормирования строк, состоящих из одних нулей.
Т.е. мой алгоритм выполнит задачу за 4 шага. Нормирование потребует минимум одного полного прохода и опять же просмотра хотя бы одной строки.
Я Вам другой вариант матрицы предложу:
1 1
1 1
Возможно, что-то пропустил.