Удалить элементы, равные числу Х, из массива А целых чисел - Turbo Pascal

Формулировка задачи:

Описать процедуру Remove X (A,N,X) удаляющию элементы, равные числу Х, из массива А целых чисел размера N. Массив А и число N являются входными и выходными параметрами. С помощью этой процедуры удалить из массивов А,В,С размера NA,NB,NC числа ХА, ХАВ,ХС соотвественно.

Код к задаче: «Удалить элементы, равные числу Х, из массива А целых чисел - Turbo Pascal»

textual
uses crt;
const nmax=100;
type mas=array[1..nmax] of integer;
procedure massiv(var a:mas;var n:integer;c:char);
var i:integer;
begin
repeat
write('Размер массива ',c,' до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив ',c);
for i:=1 to n do
 begin
  a[i]:=random(20);
  write(a[i]:4);
 end;
writeln;
end;
procedure removeX(var a:mas;var n,x:integer);
var i,j,m:integer;
begin
m:=n;
write('Введите число для удаления x=');
readln(x);
i:=1;
while i<=n do
if a[i]=x then
 begin
  if i=n then dec(n)
  else
   begin
    for j:=i to n-1 do
    a[j]:=a[j+1];
    dec(n)
   end;
 end
else inc(i);
if n=m then writeln('Числа ',x,' в массиве нет')
else if n=0 then writeln('Вме элементы удалены')
else
 begin
  writeln('Удаление элементов, равных ',x);
  for i:=1 to n do
  write(a[i]:4);
 end;
writeln
end;
 
var a,b,c:mas;
    na,nb,nc,xa,xb,xc:integer;
begin
clrscr;
randomize;
massiv(a,na,'A');
removeX(a,na,xa);
massiv(b,nb,'B');
removeX(b,nb,xb);
massiv(c,nc,'C');
removeX(c,nc,xc);
readln
end.

7   голосов, оценка 3.714 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы