procedure IsGreater(var p:V; m,T:integer; var r:boolean); var i:integer; begin i:=1; r:=True; while (i<=n) and r do begin r:=(p[i]>T); Inc(i) end end;
procedure Init(var p:V; m:integer); { инициализация и вывод массива } var i:integer; begin for i := 1 to m do begin p[i]:=Random(51)-25; Write(p[i]:4) end; Writeln end;
procedure Invert(var p:V; m:integer); { инвертирование элементов и вывод массива } var i:integer; begin Writeln('Текущие значения элементов массива'); for i := 1 to m do begin p[i]:=-p[i]; Write(p[i]:4) end; Writeln end;
var a,b:V; i,m1,m2,t:integer; res:boolean; begin Randomize; Write('Введите размеры массивов a и b: '); Read(m1,m2); Writeln('Введите пороговое значение T: '); Read(t); Writeln('Элементы массива A'); Init(a,m1); IsGreater(a,m1,t,res); if res then Invert(a,m1) else Writeln('Условие не выполнено'); Writeln('Элементы массива B'); Init(b,m2); IsGreater(b,m2,t,res); if res then Invert(b,m2) else Writeln('Условие не выполнено') end.
Тестовое решение: Введите размеры массивов a и b: 15 9 Введите пороговое значение T: -24 Элементы массива A 23 -9 -23 -25 -25 -4 -16 -2 -3 6 -8 -19 19 21 12 Условие не выполнено Элементы массива B -6 -9 -3 -23 14 4 -11 24 11 Текущие значения элементов массива 6 9 3 23 -14 -4 11 -24 -11
Const n = 10; var x:array[1..n, 1..n] of integer; i,j,i1,i2,xmax:integer; begin Randomize; Write('Введите через пробел номера строк матрицы для поиска: '); Read(i1,i2); Writeln('Исходная матрица'); for i:=1 to n do begin for j:=1 to n do begin x[i,j]:=Random(101)-50; Write(x[i,j]:4) end; Writeln end; xmax:=x[i1,1]; for i:=i1 to i2 do for j:=1 to n do if xmax<x[i,j] then xmax:=x[i,j]; Writeln('Максимальный элемент в указанном диапазоне: ', xmax); end.