Массив задан датчиком случайных чисел ** интервале [-31,45].Сформировать новый массив...

0 голосов
187 просмотров

Массив задан датчиком случайных чисел на интервале [-31,45].Сформировать новый массив В,состоящий из нечетных элементов массива А и найти в нем наименьший элемент.Размер произвольный. Решить с использованием функций(function). Pascal ABC.


Информатика (136 баллов) | 187 просмотров
0

функции и процедур

0

Сами напросились...))

Дан 1 ответ
0 голосов
Правильный ответ

// 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

(142k баллов)
0

почему в функции InitA после array требует знак '['