Петя не может быть правым в обоих случаях так как получиться что и петя и женя написали на 5, а тк не может быть по условию. дальше подбираем под петю два оставшихся случая, при том что петя сказал 2 раза правду, но этого не может быть т.к. тогда женя говорит либо 2 неправды либо 50на50, говоря две неправды он противоречит пете о том что он не писал на 5 а говоря правду неправду противоречит и пете и саше. значит петя определенно сказал правду неправду, тогда подставив жене неправду а саше правду получаем что на 5 написал петя.
var m: array[1..N, 1..N] of integer; i, j: integer; rec: record mmax: integer = -(maxint); ind: record i: integer; j: integer; end; end;
begin for i := 1 to N do for j := 1 to N do begin read(m[i, j]); if abs(m[i, j]) > rec.mmax then begin rec.mmax := abs(m[i, j]); rec.ind.i := i; rec.ind.j := j; end; end; writeln('Максимальный по модулю элемент матрицы ', rec.mmax, '(', rec.ind.i, ';', rec.ind.j, ')'); end.
Пример: Входные данные: 1 2 3 4 5 -9 7 8 6 Выходные данные: Максимальный по модулю элемент матрицы 9(2;3)
const
N = 5;//Размерность массива
var
m: array[1..N] of integer;
begin
var pr := 1;
for var i := 1 to N do
begin
read(m[i]);
if m[i] <> 0 then pr := pr * m[i];
end;
writeln(pr);
end.
Пример:
Входные данные:
1 2 3 0 5
Выходные данные:
30
2)
const
N = 3;//Размерность матрицы
var
m: array[1..N, 1..N] of integer;
i, j: integer;
rec: record
mmax: integer = -(maxint);
ind: record
i: integer;
j: integer;
end;
end;
begin
for i := 1 to N do
for j := 1 to N do
begin
read(m[i, j]);
if abs(m[i, j]) > rec.mmax then begin
rec.mmax := abs(m[i, j]);
rec.ind.i := i;
rec.ind.j := j;
end;
end;
writeln('Максимальный по модулю элемент матрицы ', rec.mmax, '(', rec.ind.i, ';', rec.ind.j, ')');
end.
Пример:
Входные данные:
1 2 3
4 5 -9
7 8 6
Выходные данные:
Максимальный по модулю элемент матрицы 9(2;3)