Einzelnen Beitrag anzeigen

Benutzerbild von n00b_on_knees
n00b_on_knees

Registriert seit: 5. Apr 2003
128 Beiträge
 
#6

Re: Löschen doppelter Zahlen

  Alt 21. Aug 2003, 11:24
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
Against TCPA & And I think we should live our dreams
  Mit Zitat antworten Zitat