Кто сможет помогите! завтра сдавать а я не знаю как делать!
Дана действительная матрица порядка N. С помощью допустимых преобразований добиться что бы один из
элементов матрицы обладающий наибольшим по модулю значением располагался в верхнем левом углу.
В чем трабл ? Ищешь максимальный по модулю элемент вот так :
imax := 1;
jmax := 1;
for i := 1 to n do
for j := 1 to n do
if abs(mx[i,j]) > abs(mx[imax, jmax]) then begin
imax := i;
jmax := j;
end;
// а потом ставишь его в левый верхний угол ...
mx[1, 1] := mx[imax, jmax];
Если не сложно объясни что надо написать в Var и что б он определял координаты верхнего левого угла??
Левый верхний угол, это элемент с индексацией [1, 1].
А volvo прав. Скорее всего, после того, как ты найдешь индексы максимальног элемента, тебе надо будет напимер c начала, поднимать строку imax до 1, меняя местами все что проходишь, а потом сдвигать влево столбец jmax...
и так каждый раз пока наибольшее число не будет в верхнем левом углу?
Именно так... Смотри здесь:
http://forum.pascal.net.ru/index.php?s=&showtopic=2836&view=findpost&p=24848
Смотри : Ты нашел индексы максимального элемента imax и jmax.
Теперь ты берешь строку imax и поднимаешь ее вверх, меняя ее со всеми троками которые будешь проходить, до того момента, пока не поменяешь эту строку с первой строкой, потом берешь столбец jmax, и сдвигаешь его влево, меняя со всеми столбцами, пока не дойдешь до столбца № 1
123
456
789
123
789
456
789
123
456
798
132
465
978
312
645
volvo, опередил
спаибо парни!!! все понял!!!