Article View: comp.lang.pascal.borland
Article #735Re: Bitte Helft mir - Turbo Pascal Haus�bung!
From: Ing. Franz Glaser
Date: Sun, 14 Dec 1997 00:00
Date: Sun, 14 Dec 1997 00:00
71 lines
3301 bytes
3301 bytes
Heubi schrieb:
> K�nnte mir irgendjemand helfen!
>
> Meine Haus�bung f�r Programmieren in Pascal:
>
> Wir haben bis Montag 15.12 folgende Aufgabe zu l�sen!
>
> Das ganze soll mit array geschehen!
> Schreiben Sie ein Programm, das wie ein Ausz�hlreim arbeitet: n Kinder sind
> im Kreis aufgestellt. Nach Aufsagen eines Ausz�hlreimes mit m Silben wird
> das jeweilige m-te Kind im Kreis ausgeschieden. Auszugeben ist die
> Reihenfolge, un der die Kinder ausscheiden!
>
> Ich weis nicht wie ich die ein array l�sche und die ganzen andern auf dessen
> Platz setze:
> also wenn ich die Index (von den Arrays) 1 , 2 , 3 , 4 ,5 6 habe und ich
> l�sche 3 heraus wie bekomme ich 5 4 auf 3 5 auf 4 und 6 auf 5 ??? - und das
> vielleicht bei 1000 Zahlen !?!
> Vielleicht kann mir jemand das Programm schreiben - aber auch wenn mir
> jemand bei den arrays weiterhilf - da w�re ich schon gerettet!
> VIELEN DANK - Heubi
Da kommen Sie ja ziemlich bald drauf! Ich habe morgen Steuertermin, das
tut genau so weh.
An array need not be erased, you simply replace the records.
Assumed:
Var ArrRec : Array of SomeRec;
Top : Integer; {index of highest array member with data}
Procedure Remove1(ToRemove:Integer);
Var I : Integer;
Begin
For I := ToRemove to Top-1 do
Begin
ArrRec[I] := ArrRec[I+1];
End;
Top := Top-1; {decrease the number of valid record entries}
End;
Procedure Insert1(Var NewRec : SomeRec;ToInsertAt:Integer);
Var I : Integer;
Begin
Top := Top+1; {here a check would be necessary!!!}
For I := Top downto ToInsertAt+1 do
Begin
ArrRec[I] := ArrRec[I - 1];
End;
ArrRec[ToInsertAt] := NewRec;
End;
It is necessary to loop reverse here, else you would fill all
records with the same contents!
This is a very simple approach, professional programmers use
an array of pointers which point to recors on the heap, but
it seems that you have enough to think with records alone. Take
care not to blow the available memory when not using pointers.
Das habe ich auf englisch geschrieben, damit die anderen auch
was davon haben. Schlie�lich lernt die ganze Welt leichter
englisch als ein Amerikaner eine andere Sprache...
Cheers, Franz Glaser, Austria
http://members.eunet.at/meg-glaser
Technical Details
Message-ID:
<34944825.9C729421@eunet.at>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<670urd$4e0$1@news.Austria.EU.net>Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII X-Google-Thread: 103d6a,6284a90ae3c5e2c7 X-Google-Attributes: gid103d6a,public X-Google-Thread: 10a285,6284a90ae3c5e2c7 X-Google-Attributes: gid10a285,public X-Google-Thread: 111659,6284a90ae3c5e2c7 X-Google-Attributes: gid111659,public X-Google-Thread: 110930,6284a90ae3c5e2c7 X-Google-Attributes: gid110930,public X-Google-Thread: f8a86,6284a90ae3c5e2c7 X-Google-Attributes: gidf8a86,public From: "Ing. Franz Glaser" <meg-glaser@eunet.at> Subject: Re: Bitte Helft mir - Turbo Pascal Haus�bung! Date: 1997/12/14 Message-ID: <34944825.9C729421@eunet.at> X-Deja-AN: 298163922 Content-Transfer-Encoding: 8bit References: <670urd$4e0$1@news.Austria.EU.net> Mime-Version: 1.0 To: Heubi <roeroe@ping.at> Content-Type: text/plain; charset=iso-8859-1 Organization: MEG Glaser Newsgroups: comp.lang.pascal.borland,fido.pascal-ger,z-netz.alt.support.turbo,z-netz.alt.turbo_pool,z-netz.sprachen.pascal