Даны два вектора a(15) и b(15). если все элементы первого вектора меньше соответствующих элементов второгт вектора, то элементы первого вектора домножить на 10, а элементы второго вектора разделить на 2. в протмвном случае оставить векторы без изменения выполнить в среде разработки паскаль через подпрограммы (procedure)
Внимание! Если программа не работает, обновите версию!
procedure LT(p,q:array of integer; var r:boolean);
begin
r:=p.Zip(q,(i,j)->i-j).All(t->t<0)
end;
begin
var a:=ArrRandom(15,-50,10); Print('a:'); a.Println;
var b:=ArrRandom(15,-10,50); Print('b:'); b.Println;
var less:boolean;
LT(a,b,less);
if less then begin
a.Transform(t->t*10); Print('a:'); a.Println;
b.Transform(t->t div 2); Print('b:'); b.Println
end
else Writeln('Векторы не менялись')
end.
Примеры
a: -1 -32 -32 6 -27 -19 -31 -24 -38 -7 -23 -20 -32 -32 2
b: -7 -8 4 -3 31 12 49 42 -9 3 -1 46 9 45 49
Векторы не менялись
a: -15 9 -43 -6 -27 -41 -37 4 -37 -22 -41 -34 -12 -5 -32
b: -1 21 -9 38 5 33 38 45 27 12 25 -7 40 38 9
a: -150 90 -430 -60 -270 -410 -370 40 -370 -220 -410 -340 -120 -50 -320
b: 0 10 -4 19 2 16 19 22 13 6 12 -3 20 19 4