Задана действительная квадратная матрица порядка n. найти наибольший по модулю элемент матрицы. не используя массива, получить квадратную матрицу порядка n-1 путем выбрасывания из исходной матрицы строки и столбца, на пересечении которых расположен элемент с найденным значением. размерность матрицы и значения ее элементов ввести с клавиатуры.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
var a:=MatrRandom(n,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var ijv:=a.ElementsWithIndexes.Select(x->(x[0],x[1],abs(x[2])))
.MaxBy(x->x[2]);
for var i:=ijv[0] to n-2 do a.SwapRows(i,i+1);
for var j:=ijv[1] to n-2 do a.SwapCols(j,j+1);
SetLength(a,n-1,n-1); a.Println(4)
end.
Пример
Количество строк/столбцов в матрице: 5
87 -5 -38 -9 57
31 66 57 -25 40
11 66 99 -79 91
12 95 93 27 -97
33 -94 14 19 39
87 -5 -9 57
31 66 -25 40
12 95 27 -97
33 -94 19 39
for(j
if(fabs(m[i][j])>fmax)
{
for(i <n-1)
for(j <n-1)
m[i][j]=m[i+1][j+1]
return
}
может быть