1. Max - это системная функция/ Не стоит называть таким именем свою.
2. Последнее условие в процедуре не совсем понятно. И для нахождения максимального значения оптимальнее это делать в одном цикле. В PascalABC так вообще можно написать m:=a.max; и ВСЁ. Но если хотите как на Pascal - Я исправил.
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016 begin var n:=ReadInteger('Количество элементов в массиве: '); var a:=ArrRandom(n,-50,50); a.Println(','); Writeln('Четные элементы: '); var i:=1; while i<n do begin Write(a[i],' '); Inc(i,2) end; Writeln; Writeln('Нечетные элементы: '); i:=0; while i<n-1 do begin Write(a[i],' '); Inc(i,2) end; Writeln end.
Тестовое решение: Количество элементов в массиве: 10 15,-18,-29,-25,46,21,-8,-17,-9,15 Четные элементы: -18 -25 21 -17 15 Нечетные элементы: 15 -29 46 -8 -9
1. Max - это системная функция/ Не стоит называть таким именем свою.
2. Последнее условие в процедуре не совсем понятно. И для нахождения максимального значения оптимальнее это делать в одном цикле. В PascalABC так вообще можно написать m:=a.max; и ВСЁ. Но если хотите как на Pascal - Я исправил.
3. Функция ищет максимальное значение в массиве.
Pascal
var
maxa:integer;
procedure Getmax(c:integer; var m:integer);
var
i:integer;
a: array [1..100] of integer;
begin
for i:=1 to c do begin
a[i]:= random (20);
write(a[i],' ');
if m<a[i] then
m:=a[i];
end;
writeln;
end;
begin
Getmax(100,maxa);
writeln('Max=', maxa);
end.
begin
var n:=ReadInteger('Количество элементов в массиве: ');
var a:=ArrRandom(n,-50,50);
a.Println(',');
Writeln('Четные элементы: ');
var i:=1;
while i<n do begin Write(a[i],' '); Inc(i,2) end;
Writeln;
Writeln('Нечетные элементы: ');
i:=0;
while i<n-1 do begin Write(a[i],' '); Inc(i,2) end;
Writeln
end.
Тестовое решение:
Количество элементов в массиве: 10
15,-18,-29,-25,46,21,-8,-17,-9,15
Четные элементы:
-18 -25 21 -17 15
Нечетные элементы:
15 -29 46 -8 -9