Помогите решить 22 задачу в обычном паскале
Ответы на вопрос
Если будете вводить матрицу поэлементно, придется изменить ввод, тут вводятся натуральные числа от 1 до m*m c шагом 1, для примера. Чтобы вводить по одному элементу, замените код в 3 строке на:
var a := ReadMatrInteger(m, m);
Ну и Если нужны вещественные то, соответсвенно на такую
// var a := ReadMatrReal(m, m);
Ах да, тут еще число С введено заранее, тоже если захотите вводить его вручную, нужно заменить на это:
var c := ReadInteger; //(или var c := ReadReal)
PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018
Внимание! Если программа не работает, обновите версию!
begin
var m := ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a := MatrRandom(m, m, -99, 99);
a.Println(4); Writeln(4 * a.ColCount * '-');
var c := ReadInteger('Введите число С:');
var s := a.ElementsWithIndexes; // в памяти не хранится !
s.Where(t -> t[0] < c).Count.Println;
var p := s.MinBy(t -> t[0]);
var r := a.Row(p[1]).Aggregate(BigInteger(1), (x, y)-> x * y);
r *= a.Col(p[2]).Aggregate(BigInteger(1), (x, y)-> x * y);
r.Println
end.