Hallo!
Ich habe mit einem Freund ein Programm geschrieben, mit dem 2 Bingozettel mit je 15 Zahlen generiert werden. Die Zahlen dürfen auf einem Zettel immer nur einmal erscheinen und sollen der Reihenfolge nach geordnet werden.
Jetzt habe ich einen Sortieralgorithmus geschrieben, der die Zahlen des Arrays ordnet. (Ist wahrscheinlich nicht optimal geworden, hab nämlich quicksort und bubblesort und was das da noch gibt, nicht verstanden und hab mir dann selbst Gedanken gemacht, wie das zu realisieren ist

)
Weil ich mir jetzt vorstellen kann, dass ich so ein ordnen öfters brauchen kann, wollte ich mich jetzt mal damit beschäftigen, wie man eigentlich so eine eigene Unit erstellt, das ist im Moment mein Stand:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| unit zahlensortieren;
interface
type TFeld = array of integer;
procedure sortieren(feld: TFeld);
var sortiert: TFeld;
implementation
procedure sortieren(feld: TFeld); var i, j, speichern: integer; begin for j:=1 to 15 do begin for i:=0 to 14 do begin if i=14 then begin if feld[14]<feld[13] then begin speichern:=feld[14]; feld[14]:=feld[13]; feld[13]:=speichern; end; end else begin if feld[i]>feld[i+1] then begin speichern:=feld[i+1]; feld[i+1]:=feld[i]; feld[i]:=speichern; end; end; end; end; for i:=0 to 14 do sortiert[i]:=feld[i]; end;
end. |
Jetzt möchte ich diese Procedure über die main-unit aufrufen, dab das jetzt mit dem Befehl sortieren(zahlen1) gemacht, zahlen1 ist vom Typ TFeld = array[0..14] of integer. wenn ich das Programm dann aber starten möchte, gibts die Fehlermeldung "[Error] Unit1.pas(79): Incompatible types: 'Unit1.TFeld' and 'zahlensortieren.TFeld'"!
Kann mir da jemand helfen?