Описать массив из 10 элементов указателей на целые числа. Ввести с клавиатуры 10 чисел с помощью указателей. Удалить четные элементы. Вывести на экран оставшиеся элементы — Pascal(Паскаль)

program PascalGuru;

label 1;

type
  PInteger = ^Integer;
  ArrayPInteger = array [1 .. 10] of PInteger;
  PArrayPInteger = ^ArrayPInteger;

function Max(A: PArrayPInteger; Size: Integer): Integer;
var
  i: Integer;
  r: Integer;
begin
  if Size > 0 then
  begin
    r := A^[1]^;
    for i := 2 to Size do
      if A^[i]^ > r then
        r := A^[i]^;
  end
  else
    r := 0;
  Max := r;
end;

var
  i, j, n: Integer;
  Arr: PArrayPInteger;

begin
  getmem(Arr, sizeof(PInteger) * 10);
  for i := 1 to 10 do
  begin
    new(Arr^[i]);
    write('vvedite ', i, '-e chislo:');
    read(Arr^[i]^);
  end;

  n := 10;
1:
  for i := 1 to n do
    if Arr^[i]^ mod 2 = 0 then
    begin
      for j := i to n - 1 do
        Arr^[j]^ := Arr^[j + 1]^;
      dec(n);
      goto 1;
    end;

  writeln;
  writeln('Massiv posle udalenia:');
  for i := 1 to n do
    writeln(i, ') ', Arr^[i]^);
  for i := 1 to n do
    dispose(Arr^[i]);

  readln;
  readln;

end.

Leave a Comment

66 − = 64