![]() |
AW: Programm Hilfe
Zitat:
|
AW: Programm Hilfe
Will das mit copy wissen. Kann mir das keiner sagen will was neues lernen
|
AW: Programm Hilfe
Was willst Du denn mit Copy() an der Stelle? Du hast es doch nur ein einziges Mal mit einem String zu tun, und das ist bei der Umwandlung der Eingabe in die initiale Zahl.
[edit] BTW habe ich das Programm jetzt doch einmal testhalber geschrieben, das funktioniert prima so, wie wir das schon am Anfang vorgeschlagen hatten. [/edit] |
AW: Programm Hilfe
OK, also das Programm soll so aussehen.
Nehmen wir mal eine 4 stellige Zahl : 5456 Das Programm soll diese Ziffern nach der Größe sortieren : 6554 Und nach der kleinsten Zahl: 4556 So und jetzt soll das Programm von diesen beiden Zahlen die Differenz bilden das wäre : 1998 Und diesen Alghorithmus soll er solange machen bis er erkennt das immer wieder die gleiche Zahl kommt. Und diese Zahl die immer gleich kommt soll er im edit 2 fenster ausgeben. edit: Hier habe die Zahl : 6957 . Nach der Größe geordnet und nach der kleinsten die Differenz gebildet und es kam: 3996 und jetzt macht das Programm das gleiche mit 3996 und immer weiter so! 6957 /9675-5679=3996 3996 /9963-6399=3564 3564 /6543-3456=3087 3087 /8730-0378=8352 8352 /8532-2358=6174 6174 /7641-1467=6174 |
AW: Programm Hilfe
Zitat:
Delphi-Quellcode:
Das war die Löwenarbeit, der Rest besteht aus Verwendung dieser Funktionen.
type
TZiffern = array [1 .. 4] of Byte; TDirection = (drAsc (*aufsteigend*), drDesc (*absteigend*)); function Zerlege(Wert: integer): TZiffern; begin Result[1] := Wert mod 10000 div 1000; Result[2] := Wert mod 1000 div 100; Result[3] := Wert mod 100 div 10; Result[4] := Wert mod 10; end; procedure Sort(var Ziffern: TZiffern; Direction: TDirection); begin //Hier wird ein Bubblesort verwendet, den ich aber zunächst nicht poste, Beispiele dafür gibt es massig hier im Forum end; function ZiffernToZahl(Ziffern: TZiffern): integer; begin Result := Ziffern[1] * 1000 + Ziffern[2] * 100 + Ziffern[3] * 10 + Ziffern[4]; end; function MaxWert(Ziffern: TZiffern): integer; begin Sort(Ziffern, drDesc); Result := ZiffernToZahl(Ziffern); end; function MinWert(Ziffern: TZiffern): integer; begin Sort(Ziffern, drAsc); Result := ZiffernToZahl(Ziffern); end; |
AW: Programm Hilfe
Ehrlich gesagt ich weiß es nicht man aus mir wird nix. Aber naja ihr habt mir geholfen wie ihr könnt dann kassier ich morgen meine 6
|
AW: Programm Hilfe
Dann können wir Dir wohl leider nicht weiterhelfen. Das komplette Programm wird hier wohl niemand posten, das wäre auch unfair Deinen Mitschülern gegenüber.
|
AW: Programm Hilfe
Kommt schon macht mal eine Ausnahme und ausserdem muss ich es nur machen.
|
AW: Programm Hilfe
Erzielt dieser Aufbau mein Ziel ?
Delphi-Quellcode:
var
Form1: TForm1; TZiffern=array[1..4] of byte; TDirection = (drAsc (*aufsteigend*), drDesc (*absteigend*)); implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Result[1] := Wert mod 10000 div 1000; Result[2] := Wert mod 1000 div 100; Result[3] := Wert mod 100 div 10; Result[4] := Wert mod 10; end; for i:= 1 to 3 do for j:=i+1 to 4 do if result[1..4]>=zahl[j] then begin park:=result[1..4];zahl[i]:=zahl[j];zahl[j]:=park; end; Result := Ziffern[1] * 1000 + Ziffern[2] * 100 + Ziffern[3] * 10 + Ziffern[4]; end; Sort(Ziffern, drDesc); Result := ZiffernToZahl(Ziffern); end; Sort(Ziffern, drAsc); Result := ZiffernToZahl(Ziffern); end; edit2.text:=inttostr(result[1..4]); end; end. |
AW: Programm Hilfe
Zitat:
Nein! Ein ganz klares NEEEEEEEEEEEEEEEEEEIIIIIIIIIIIINNNNNNNNNNNNNNNNNNN NN!!!!!!!!!!!!!!!!!!!!!!! Hast du überhaupt eine IDE / Programmierumgebung für Delphi / Object Pascal, um die Sachen auszuprobieren? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz