Удаление элементов в одномерном массиве, в паскале: создать одномерный массив,содержащий целые числа.удалить все нечётные элементы массива. сделать с процедурой

munur munur    3   18.07.2019 03:10    0

Ответы
VovkaGamer228 VovkaGamer228  21.09.2020 21:52
Const
  MAX_SIZE = 10;
 
var
  a: array[1..MAX_SIZE] of integer;
  i, size: integer;
 
procedure delete_odd_elements();
var i, j: integer;
begin
  i := 1;
  repeat
    if odd(a[i]) then
    begin
      dec(size);
      for j := i to size do
        a[j] := a[j + 1]
    end
    else inc(i);
  until i > size;
end;
 
begin
  writeln('Исходный массив: ');
  size := MAX_SIZE;
  for i := 1 to size do
  begin
    a[i] := random(100);
    write(a[i] : 3);
  end;
  delete_odd_elements;
  writeln;
  writeln('Полученный массив: ');
  for i := 1 to size do
    write(a[i] : 3);
end.
ПОКАЗАТЬ ОТВЕТЫ
миша1089 миша1089  21.09.2020 21:52
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
procedure DeleteOdd(var a:array of integer);
begin
  a:=a.Where(x->not Odd(x)).ToArray
end;

begin
  var a:=ArrRandom(ReadInteger('n='),1,100); a.Println;
  DeleteOdd(a); a.Println
end.

Тестовое решение:
n= 10
56 47 35 2 39 83 20 68 1 38
56 2 20 68 38
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика