Скачиваний:
11
Добавлен:
15.06.2014
Размер:
2.01 Кб
Скачать
unit UAl1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Memo2: TMemo;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
n=10;
type
mas1=array[1..n] of integer;
tse=^se; //pointer on element}
se=record
zn:integer;// sence
pr:tse; //pointer on priv element
end;
var
Form1: TForm1;
sc,sp:tse;
m:mas1;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Clear;
memo2.Clear;
button2.Enabled:=false;
end;

//filling stek button
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
memo1.Clear;
memo2.Clear;
//clearning
While sc<>nil do begin
sp:=sc^.pr;
dispose(sc);
sc:=sp;
end;
randomize;
//filling stek
For i:=1 to n do
begin
new(sc);
sc^.zn:=random(10);
if random(2)=1 then sc^.zn:=sc^.zn*(-1);
sc^.pr:=sp;
sp:=sc;
m[i]:=sc^.zn;
memo1.Lines.Add(inttostr(sc^.zn));
end;
button2.Enabled:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,p,c,k:integer;
begin
c:=n;
repeat
begin
k:=0;
for i:=1 to n do
begin
if m[i]<0 then
begin
for p:=i to n-1 do
begin
m[p]:=m[p+1];
m[p+1]:=0;
end;
c:=c-1;
inc(k);
end;
end;
end;
until k=0;
//outprint
//clearning
While sc<>nil do begin
sp:=sc^.pr;
dispose(sc);
sc:=sp;
end;
//filling stek
For i:=1 to c do
begin
new(sc);
sc^.zn:=m[i];
memo2.Lines.Add(inttostr(sc^.zn));
sc^.pr:=sp;
sp:=sc;
end;
//clearning
While sc<>nil do
begin
sp:=sc^.pr;
dispose(sc);
sc:=sp;
end;
memo2.Lines.Add('Стек пуст');
button2.Enabled:=false;
end;

end.
Соседние файлы в папке удаляет отриц(подозрительно)
  • #
    15.06.2014182 б11PAl1.dpr
  • #
    15.06.2014922 б11Project1.dof
  • #
    15.06.2014876 б11Project1.res
  • #
    15.06.20145.49 Кб10UAl1.dcu
  • #
    15.06.20141.01 Кб11UAl1.dfm
  • #
    15.06.20142.01 Кб11UAl1.pas
  • #
    15.06.20141.94 Кб11UAl1.~pas
  • #
    15.06.201426.11 Кб12unit Unit1.doc
  • #
    15.06.20143.88 Кб10Unit1.dcu
  • #
    15.06.2014610 б11Unit1.dfm
  • #
    15.06.20142 Кб11Unit1.pas