Поделитесь своими знаниями, ответьте на вопрос:
Составить процедуру, вычисляющую значение true, если все элементы одномерного массива имеют значения, большие заданной величины, и false в противном случае.используя эту процедуру, изменить значение каждого элемента тех двух заданных массивов a(n) и b(m) на обратное, в которых все исходные значения больше величины t.в противном случае вывести сообщение “условие не выполнено”кст.определить сколько раз встречается заданное слово.паскаль
n=100;
type
V=array[1..n] of integer;
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