🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.pascal.borland
Article #735

Re: Bitte Helft mir - Turbo Pascal Haus�bung!

#735
From: Ing. Franz Glaser
Date: Sun, 14 Dec 1997 00:00
71 lines
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-mail
References: <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