Помогите решить 22 задачу в обычном паскале

0 голосов
22 просмотров

Помогите решить 22 задачу в обычном паскале


image

Информатика (654k баллов) | 22 просмотров
0

могу в PascalABC.NET, в обычном не хочу

0

если под обычным вы подразумеваете турбо-паскаль или даже фрипаскаль

0

именно тот что вы указали выше

0

так что, давать вам решение в PascalABC.NET?

0

если не трудно

0

Занятно... а какой же паскаль "необычный"?

0

да, если PascalABC.NET это уже обычный, то значит все остальные уже необычные =)

0

ну если его в школе изучают то значит обычный или нет ?

0

Интересно, а при нахождении произведения сам минимальный элемент 1) не учитывать 2) учитывать один раз 2) учитывать два раза

Дано ответов: 2
0 голосов
Правильный ответ

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.


image
(654k баллов)
0 голосов

Если будете вводить матрицу поэлементно, придется изменить ввод, тут вводятся натуральные числа от 1 до m*m c шагом 1, для примера. Чтобы вводить по одному элементу, замените код в 3 строке на:

var a := ReadMatrInteger(m, m);

Ну и Если нужны вещественные то, соответсвенно на такую

//  var a := ReadMatrReal(m, m);

Ах да, тут еще число С введено заранее, тоже если захотите вводить его вручную, нужно заменить на это:

var c := ReadInteger; //(или var c := ReadReal)


image
(2.5k баллов)
0

еще и размерность матрицы m тоже, =)