Sorry, den Code kann ich leider nicht verwenden, da das eine Angabe ist, und ich das von meinem Prof. aus mit For und ineinander verschachtelten Repeat Until Schleifen machen soll
Wenn ich 0 statt eins schreibe, und die Werte
2
2
3
eingebe, kommt die Zahl 12402348 raus, was irgendwie sehr falsch ist
. Wie ich oben schonmal geschrieben hab, hatte ich so einen ähnlichen Code, bzw. fast den gleichen:
Delphi-Quellcode:
unit kill;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
mmEin: TMemo;
mmAus: TMemo;
btStart: TButton;
procedure btStartClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btStartClick(Sender: TObject);
const
nmax= 30;
var
n, i, j, k: integer;
feld:
array [0..nmax]
of integer;
begin
n:= mmEin.Lines.Count;
for i:=0
to n-1
do
feld[i]:=StrToInt(mmEin.Lines[i]);
i:=0;
repeat
j:= i+1;
repeat
if ((feld[i] = feld[j])
or (j>=n))
then
begin
for k:= j
to n+1
do
feld[j]:= feld[j+1];
dec(n);
end
else
j:= j+1;
until j>n-1;
i:= i+1;
until i>n-1;
for i:=0
to n
do
mmAus.Lines.Add(IntToStr(feld[i]));
end;
end.
wäre dieser, funktioniert bei ca. 4 Zahlen, wenns mehr sind macht er nicht mehr weiter