Скачиваний:
12
Добавлен:
15.06.2014
Размер:
26.11 Кб
Скачать

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

type

TForm1 = class(TForm)

Memo1: TMemo;

Memo2: TMemo;

Button1: TButton;

Button2: TButton;

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;

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.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
  • #
    15.06.2014598 б10Unit1.~df