<em>// PascalABC.NET 3.2, сборка 1457 от 29.05.2017</em> <em>// Внимание! Если программа не работает, обновите версию!</em>
begin Writeln('*** Исходный массив ***'); var z:=MatrRandom(4,6,10,80); z.Println(4); Writeln(4*z.ColCount*'-'); var t:=z.ElementsWithIndexes.MaxBy(x->x[2]); Writeln('Максимальный элемент z[',t[0]+1,',',t[1]+1,']=',t[2]) end.
Const N = 4; M = 6; Var Z:array[1..N,1..M] of integer; i,j,iMax,jMax:integer; Begin Randomize; WriteLn('Z(',N,',',M,'):'); iMax:=1; jMax:=1; For i:= 1 to N do Begin For j:= 1 to M do Begin Z[i,j]:=random(71)+10; Write(Z[i,j],' '); if Z[i,j] > Z[iMax,jMax] then Begin iMax:=i; jMax:=j; End; End; WriteLn; End; WriteLn('Max(Z) = Z[',iMax,',',jMax,'] = ',Z[iMax,jMax]); End.
Чтобы решать такие задачки начинай решение с конца. К искомому числу пробуй применять обратные операции (Не *2 +3, а /2 -3). Какие=то будут сразу отпадать, какие-то будут более выгодными на данном шаге.