// PascalABC.NET 3.0, сборка 1088 function InitA(n:integer):array of integer; begin Result:=ArrRandom(n,-31,45) end;
procedure GetA(var a:array of integer); begin a:=InitA(ReadInteger('Количество элементов в массиве А: ')); end;
procedure PutM(c:char; a:array of integer); begin Writeln('*** Массив '+c+'[',a.Length,'] ***',#13#10,a); end;
function FormB(a:array of integer):array of integer; begin Result:=Range(0,a.Length-1,2).Select(x->a[x]).ToArray end;
function MinEl(a:array of integer):integer; begin Result:=a.Min end;
begin var mA:array of integer; GetA(mA); PutM('A',mA); var mB:=FormB(mA); PutM('B',mB); Writeln('Минимальный элемент в массиве В равен ',MinEl(mB)) end.
Тестовое решение: Количество элементов в массиве А: 15 *** Массив A[15] *** [-22,0,-9,17,14,3,38,-18,-28,-17,28,13,1,1,26] *** Массив B[8] *** [-22,-9,14,38,-28,28,1,26] Минимальный элемент в массиве В равен -28
1) program Array16;
var
i:integer; // счетчик в цикле
N:integer;
a: array [1..10] of integer;
begin
writeln('Введите N (N<10)');
readln(N); // ввод размера массива
for i:=1 to N do
begin
write('a[',i,']=');
readln(A[i]); // ручной ввод значений массива
end;
writeln('Результат');
for i:=1 to N do
begin
// вычисление и вывод элементов в указанном порядке
write(' ',a[(i div 2+1)*((i) mod 2)+ n*((i+1)mod 2)-((i div 2)-1)*((i+1) mod 2)]);
end;
end.
2) Var A:array[1..100] of integer;
i,n:byte;
Begin
write('Введите n<=100: ');readln(n);
For i:=1 to n do
Begin
A[i]:=random(31);
write(A[i]:3);
End;
writeln;
For i:=1 to n div 2 do
write(A[i]:3,A[n-i+1]:3);
if n mod 2 <>0 then write(A[n div 2+1]:3);
End.
function InitA(n:integer):array of integer;
begin
Result:=ArrRandom(n,-31,45)
end;
procedure GetA(var a:array of integer);
begin
a:=InitA(ReadInteger('Количество элементов в массиве А: '));
end;
procedure PutM(c:char; a:array of integer);
begin
Writeln('*** Массив '+c+'[',a.Length,'] ***',#13#10,a);
end;
function FormB(a:array of integer):array of integer;
begin
Result:=Range(0,a.Length-1,2).Select(x->a[x]).ToArray
end;
function MinEl(a:array of integer):integer;
begin
Result:=a.Min
end;
begin
var mA:array of integer;
GetA(mA); PutM('A',mA);
var mB:=FormB(mA); PutM('B',mB);
Writeln('Минимальный элемент в массиве В равен ',MinEl(mB))
end.
Тестовое решение:
Количество элементов в массиве А: 15
*** Массив A[15] ***
[-22,0,-9,17,14,3,38,-18,-28,-17,28,13,1,1,26]
*** Массив B[8] ***
[-22,-9,14,38,-28,28,1,26]
Минимальный элемент в массиве В равен -28