All pastes #253616 Raw Edit

Stuff

public text v1 · immutable
#253616 ·published 2006-11-20 23:03 UTC
rendered paste body
type
    lista = record
         Last : integer;
         Element : array [1..100] of
          record
           Dana : integer;
           Pos : integer;
          end;
     end;
// ========================================================================== //
// Dokladanie elementu do listy:
procedure Insert(Value : integer; var L1 : lista);
var
 i : integer;
begin
 i := 0;
 L1.Last := L1.Last + 1;
 while (L1.Element[i].Pos <> 0) do i := i + 1;
 L1.Element[i].Dana := Value;
 L1.Element[i].Pos := L1.Last;
end;

// ========================================================================== //
// Usuwanie elementu z listy:
function Remove(Index : integer; var L1 : lista) : boolean;
var
 i : integer;
begin
 if (Index > L1.Last) then
  result := false
 else
 begin
  for i:= 1 to 100 do
  begin
   if (L1.Element[i].Pos > Index) then
    L1.Element[i].Pos := L1.Element[i].Pos - 1
   else if (L1.Element[i].pos = Index) then
    L1.Element[i].Pos := 0;
  end;
  L1.Last := L1.Last - 1;
  result := true;
 end;
end;

// ========================================================================== //
// Wypisanie zawartosci listy od pierwszego:
procedure Listuj(L1 : Lista);
var
 i, j : integer;
begin
 for i := 1 to L1.Last do
 begin
  for j := 1 to 100 do
   if (L1.Element[j].Pos = i) then
   begin
    Write('Element ', i ,' ma warotsc: ');
    WriteLN(L1.Element[j].dana);
   end;
 end;
end;