Определить максимальный и минимальный элементы среди положительных нечётных элементов целочисленного массива Х. Удалить из массива все нулевые элементы. Пожалуйста, очень надо, нет времени писать прогу. Даю 20 баллов!
procedure show(x: array100; n: integer); var i:integer; begin writeln(); writeln('Вывод массива[',n,']:'); for i := 1 to n do write(x[i], ' '); writeln(); end;
begin n := 20; max := -200; min := 200;
for i := 1 to n do begin x[i] := random(2*n) - n; end; show(x, n);
for i := 1 to n do begin if (x[i] > 0) and (x[i] mod 2 = 1) then begin if x[i] > max then max := x[i]; if x[i] < min then min := x[i]; end; end; writeln('Max = ', max, ' Min = ', min);
i := 1; while i <= n do begin if x[i] = 0 then begin for j := i + 1 to n do x[j - 1] := x[j]; n := n - 1; end else i := i + 1; end; show(x,n); end.
Answers & Comments
Verified answer
Typearray100 = array[1..100]of integer;
var
x: array100;
i, n, j, t, min, max: integer;
procedure show(x: array100; n: integer);
var i:integer;
begin
writeln();
writeln('Вывод массива[',n,']:');
for i := 1 to n do
write(x[i], ' ');
writeln();
end;
begin
n := 20;
max := -200;
min := 200;
for i := 1 to n do
begin
x[i] := random(2*n) - n;
end;
show(x, n);
for i := 1 to n do
begin
if (x[i] > 0) and (x[i] mod 2 = 1) then begin
if x[i] > max then max := x[i];
if x[i] < min then min := x[i];
end;
end;
writeln('Max = ', max, ' Min = ', min);
i := 1;
while i <= n do
begin
if x[i] = 0 then begin
for j := i + 1 to n do
x[j - 1] := x[j];
n := n - 1;
end
else i := i + 1;
end;
show(x,n);
end.