program p0018k; //ej 6. Eliminar todas las apariciones de un numero de una lista
uses crt;
type vector = array[1..5] of integer;
var p,s1: vector;
i: integer;
procedure eliminar ( var s,s1: vector);
var
a,b,c,x: integer;
begin
Writeln (' Ingrese el numero a eliminar ');
Readln (a);
Writeln;
c:= 5;
For x:= 1 to c do
If s[x] = a then // Si el vector es igual al número elegido
begin
s[x]:= s[x] - a; // Al vector le resto ese numero
b:= c-1; // ...y resto una posición
end;
For x:= 1 to b + 1 do // desde 1 hasta esa nueva posición + 1
begin
s1[x]:= s[x]; // le asigno al nuevo vector, el vector modificado
If s1[x] <> 0 then // para que no imprima las posiciones borradas con ceros. Pero si el random me tira un 0, esa posición se borra
Write (' ',s1[x]); // y lo muestro
end;
end;
Begin
clrscr;
randomize;
Writeln(' Ingrese datos ');
Writeln;
For i:= 1 to 5 do
begin
p[i]:= random (10);
Write (' ', p[i]);
end;
Writeln;
Writeln;
eliminar (p,s1);
Readkey;
End.