Pascal, zbior danych

Mógłby ktoś napisać, dwie osobne funkcje lub procedury które

  1. Pozwolą na skasowanie jednego elementu

  2. Pozwolą na skasowanie wszystkich elementów ze zbioru

Nie podałeś warunków na usunięcie jednego elementu więc usuwam od najmniejszych,

a kasowanie zbioru to podstawienie pustego :PPP

http://wklej.org/id/0545ab2c01

type

  P_= set of byte;

var

  P1: P_;


procedure UsunElement(var P: P_);

var

  i: byte;

begin

  for i:=1 to 255 do

  if i in P then

  begin

    P:= P-[i];

    exit;

  end;

end;


procedure KasujZbior(var P: P_);

begin

  P:=[];

end;


begin

  P1:= [1,2,3];

  UsunElement(P1);

  KasujZbior(P1);

end.

Dzięki wielkie;d A wiesz może jakby to wyglądało na tablicy?

Ja wiem :PPP, ale czy ja za Ciebie odrabiam lekcje ;/

  • i znowu przykład w bliżej nieokreślonych warunkach:

    type

    A_ = array[1..4]of boolean;
    

    const

    A0 : A_ = (False,False,False,False); { przyjmujemy że to jest pusta tablica }
    
    AX : A_ = (False,True,False,True); { -//- że jest jakaś tablica pierwotna }
    

    var

    A1 : A_;
    

    procedure KasujTab(var A: A_);

    begin

    A:= A0;
    

    end;

    procedure UsunElemenTab(var A: A_);

    var

    i: byte;
    

    begin

    for i:=Low(A_) to High(A_) do
    
    if A[i]=True then
    
    begin
    
      A[i]:=False;
    
      exit;
    
    end;
    

    end;

    begin

    A1:= Ax;
    
    UsunElemenTab(A1);
    
    KasujTab(A1);
    

    end.

Dzięki:) Tak jakby;) ale mam dziś kartkówkę z tego, a nie miałem pojęcia jak to napisać.