Autor Beitrag
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Do 20.10.11 16:04 
Habe überlegt und versucht

ausblenden Delphi-Quelltext
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:
var
  Form1: TForm1;
  i, j, zahl1, zahl2, differenz:integer;
  park, zahltext, zahltexteins, zahltextzwei, max, min,s:string;
  a,b:array[1..4of string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
zahltext:=edit1.text;
for i:=1 to 4 do
begin
a[i]:=copy(zahltext,i,1);
b[i]:=copy(zahltext,i,1);
end;
for i:=1 to 4 do
if a[i]>=a[j] then begin
park:=a[i];a[i]:=a[j];a[j]:=park;
end;
park:=zahltexteins;
if b[i]<=b[j] then begin
min:=b[i];b[i]:=b[j];b[j]:=min;
min:=zahltextzwei;
differenz:=zahltexteins-zahltextzwei; // wieso fehler
edit2.text:=string(a[i]);


Zuletzt bearbeitet von boxer123 am Do 20.10.11 16:14, insgesamt 1-mal bearbeitet
Teekeks
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 211
Erhaltene Danke: 23



BeitragVerfasst: Do 20.10.11 16:14 
Weil du keine Strings voneinander abziehen kannst.
Warum nutzt du keinen Integer?
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Do 20.10.11 16:16 
ich weiß nicht wie ich es wieder zu einem integer verbinden kann
Teekeks
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 211
Erhaltene Danke: 23



BeitragVerfasst: Do 20.10.11 16:20 
Suche mal nach inttostr und strtoint.
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Do 20.10.11 16:25 
ausblenden volle Höhe Delphi-Quelltext
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:
var
  Form1: TForm1;
  i, j, zahl1, zahl2, differenz:integer;
  park, zahltext, zahltexteins, zahltextzwei, max, min,s:string;
  a,b:array[1..4of string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
zahltext:=edit1.text;
for i:=1 to 4 do
begin
a[i]:=copy(zahltext,i,1);
b[i]:=copy(zahltext,i,1);
end;
zahl1:=strtoint(edit1.Text);
zahl2:=strtoint(edit2.text);
zahl1:=0;zahl2:=0;
for i:=1 to 4 do
for j:=i+1 to 4 do
if a[i]>=a[j] then begin
park:=a[i];a[i]:=a[j];a[j]:=park;
end;
zahltext:=zahltexteins;
if b[i]<=b[j] then begin
min:=b[i];b[i]:=b[j];b[j]:=min;
end;
zahltexteins:=zahltextzwei;
differenz:=zahl1-zahl2;
edit2.text:=inttostr();


Edit: bin ich dran ich hoffe es


Zuletzt bearbeitet von boxer123 am Do 20.10.11 16:57, insgesamt 1-mal bearbeitet
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 20.10.11 16:56 
Moin!

user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
Der ist mit zu komplitziert ich will einen den ich verstehe
user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
Habe überlegt und versucht
Immer langsam mit die jungen Pferde... ;) Dein Einsatz ist sicher lobenswert, aber du versuchst (schon die ganze Zeit) drei Schritte auf einmal zu machen, weißt aber gar nicht, wohin - um es mal zu umschreiben. :nixweiss: In deinem Quelltext sind mehrere "Probleme" durcheinander, das wird so nix.

Ich hatte dich gebeten das Beispiel nochmal aufzuarbeiten, so dass es deiner Beschreibung des Algorithmus entspricht. Wie sieht´s aus, macht keinen Spaß, ja mag sein, aber du hast konkrete Probleme, genau das umzusetzen. Deshalb halte ich es für notwendig, dass wir da nochmal ansetzen. Wenn du wirklich verstanden hast, was da wann wie passiert, dann kannst du daraus sicher auch den Delphi-Code machen. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Do 20.10.11 17:00 
ja, ich weiß wie es sein soll.

7.Schritt: Ich muss es in einer variable speichern also die Zahl aber es funktioniert nicht. z.b. park:=zahl1;
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 20.10.11 17:06 
Moin!

user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
ja, ich weiß wie es sein soll.
Das habe ich auch gar nicht bezweifelt, aber du drückst dich schon die ganze Zeit darum, dieses Beispiel mal im Detail durchzugehen. Warum weiß ich nicht. Wenn du es weißt, wie es richtig geht, warum machst du es dann nicht mal eben und gut ist. :nixweiss:


user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
1.Schritt: Die erste Zahl wird mit jeder nach der Reihe mit jeder Zahl verglichen
2.Schritt: Wenn eine Zahl größer ist als die Zahl, dann wird die Zahl mit der ersten vertauscht

ausblenden Quelltext
1:
2:
3:
4:
5:
8 9 4 6-  i j
9 8 4 6-  1 2
4 8 9 6-  1 3
4 8 9 6-  1 4
4 8 9 6-  1 4
Allerdings stimmt dein Beispiel nicht mit deiner Ablaufbeschreibung überein. Kannst du das nochmal überarbeiten? Weiterhin: was soll das "i" und das "j" in dem Beispiel, kannst du das auch nochmal erläutern?
Hier geht´s weiter: beschreibe bitte ganz detailiert, wie man nach deiner Vorgehensweise den ersten Block korrekt bildet.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Do 20.10.11 17:12 
1.Schritt: Man vergleicht die erste Zahl mit der Zweiten.
2.Schritt: Wenn sie größer ist vertauscht man beide.
3.Schritt: Dann vergleicht man die vertauschte zahl mit der dritten Zahl
4.Schritt: Wenn sie kleiner ist passiert nix
5.Schritt: Dann vergleicht man die 1.zahl mit der letzten, wenn sie größer vertauscht man beide und wenn sie kleiner ist passiert nix.

1.Schritt: Jetzt fängt man mit der 2ten an und vergleicht sie mit der dritten.
immer weiter so

1.Schritt: jetzt die dritte mit der 4ten
immer weiter so
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 20.10.11 17:19 
Moin!

OK, ich hätte zwar im 4. Schritt geschrieben: "Wenn sie größer ist vertauscht man beide.", damit das gleich zum 2. Schritt ist, aber gut, geht auch so. :?

Allerdings ist dein Beispiel nicht passend zu dieser Beschreibung. :idea: Deshalb mach bitte mal folgendes:
ausblenden Quelltext
1:
2:
8 9 4 6
- -
Unterstreiche mal die Ziffern, die in einem Schritt verglichen werden, dann schreibst du darunter die neue Anordnung:
ausblenden Quelltext
1:
2:
3:
8 9 4 6
- -
9 8 4 6
Damit man sehen kann, wie die Sortierung zustande kommt. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Do 20.10.11 17:26 
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
8 9 4 6
- -
9 8 4 6
- 8 - 6
4 8 9 6
4 - 9 -
4 6 9 8
4 6 - -
4689
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 20.10.11 17:33 
Moin!

OK, danke. ;)

Du hast allerdings noch einen dicken Bock in deinem Ablauf, mal sehen, ob wir den noch "sichbar" machen können. ;) Bitte mach doch noch mal einen Durchlauf mit dieser Folge:
ausblenden Quelltext
1:
2:
8 1 9 4 6
- -
Achte bitte darauf in den Zeilen mit den Unterstreichungen keine Ziffern anzugeben, damit der Vergleich deutlicher wird. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Do 20.10.11 17:38 
8 1 9 4 6
- -

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
8 1 9 4 6
- - 
1 8 9 4 6
  - -
1 9 8 4 6
  -   -
1 4 8 9 6
    -   -
1 4 6 9 8
      - -
1 4 6 8 9
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 20.10.11 17:46 
Moin!

Super. Allerdings: findest du es nicht etwas "seltsam", dass da so ein Muster raus kommt?
ausblenden Quelltext
1:
2:
3:
4:
5:
- - 
  - -
  -   -
    -   -
      - -
Ich geb dir mal einen Tipp, normalerweise macht man solche Muster, wenn man sortiert: (Bubble-Sort)
ausblenden Quelltext
1:
2:
3:
4:
5:
- -
  - -
    - -
      - -
        - -
oder aber solche: (Min-Sort)
ausblenden Quelltext
1:
2:
3:
4:
5:
- -
-   -
-     -
-       -
-         -
Probier mal deine Beschreibung so anzupassen, dass eins der "Standard-Muster" dabei rauskommt. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Do 20.10.11 17:48 
Wie jetzt quelltext anpassen?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 20.10.11 17:52 
Moin!

user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
Wie jetzt quelltext anpassen?
Nein, ich meine diese Beschreibung hier: :idea:
user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
1.Schritt: Man vergleicht die erste Zahl mit der Zweiten.
2.Schritt: Wenn sie größer ist vertauscht man beide.
3.Schritt: Dann vergleicht man die vertauschte zahl mit der dritten Zahl
4.Schritt: Wenn sie kleiner ist passiert nix
5.Schritt: Dann vergleicht man die 1.zahl mit der letzten, wenn sie größer vertauscht man beide und wenn sie kleiner ist passiert nix.
cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Do 20.10.11 18:02 
1.Schritt: Man vergleicht die 1.Zahl mit der 2ten Zahl.
2.Schritt: Wenn die Zweite Zahl größer ist als die erste vertauscht man beide.
3.Schritt: Die erste Zahl vergleicht man auch mit der 3ten und 4ten Zahl.
4.Schritt: Wenn die 1te Zahl größer als beide ist ändert sich garnix.
5.Schritt: Jetzt vergleicht man die 2te mit der dritten wenn die dritte größer ist.
6.Schritt: Vertauscht man beide also die 2te und die dritte.
7.Schritt: Jetzt vergleicht man die 2te mit der 4ten und wenn die 4te Zahl größer ist ändert man nix.
8.Schritt: Jetzt vergleicht man die 3te mit der 4ten wenn die 3te zahl größter ist als die 4te ist. Vertauscht man die beiden zahlen.

Moderiert von user profile iconNarses: Code-Tags entfernt.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 20.10.11 18:07 
Moin!

Sorry, aber deine Vorschrift produziert weder das Bubble- noch das Min-Sort Muster. :nixweiss:

Also nochmal: Willst du das Bubble- oder das Min-Sort Muster nehmen? Tipp: versuche dich bei der Beschreibung auf so wenige Zeilen wie möglich zu beschränken, das könnte z.B. ganz gut gehen, wenn du statt der "1. Zahl, 2. Zahl" sagst, die i-te Zahl und dann dazu sagst, wo i startet und wann es stoppt. Wenn dich das verwirrt, dann lass es weg und machs mit direkten Positionsangaben. :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Do 20.10.11 18:14 
1.Schritt: Man vergleicht die 1.Zahl mit der 2ten Zahl.
2.Schritt: Wenn die 2.Zahl größer ist als die 1.Zahl; Vertauscht man beide.
3.Schritt: Die 1.Zahl vergleicht man auch mit der 3.Zahl und 4.Zahl.
4.Schritt: Wenn die 1.Zahl größer ist, als beide Zahlen also die 3.Zahl und die 4.Zahl ist,dann ändert sich nix.
5.Schritt: Jetzt vergleicht man die 2.Zahl mit der 3.Zahl wenn die 3.Zahl größer ist als die 2.Zahl
6.Schritt: Vertauscht man beide also die 2.Zahl und die 3.Zahl.
7.Schritt: Jetzt vergleicht man die 2.Zahl mit der 4.Zahl und wenn die 4.Zahl Größer ist, ändert man nix.
8.Schritt: Jetzt vergleicht man die 3.Zahl mit der 4.Zahl wenn die 3.Zahl Größter ist als die 4.Zahl. Vertauscht man die beiden zahlen!


So muss es doch sein?^^
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 20.10.11 18:25 
Moin!

OK, also im Detail... :roll:
user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
1.Schritt: Man vergleicht die 1.Zahl mit der 2ten Zahl.
2.Schritt: Wenn die 2.Zahl größer ist als die 1.Zahl; Vertauscht man beide.

ausblenden Quelltext
1:
- -					

user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
3.Schritt: Die 1.Zahl vergleicht man auch mit der 3.Zahl und 4.Zahl.
4.Schritt: Wenn die 1.Zahl größer ist, als beide Zahlen also die 3.Zahl und die 4.Zahl ist,dann ändert sich nix.

ausblenden Quelltext
1:
2:
-   -
-     -

user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
5.Schritt: Jetzt vergleicht man die 2.Zahl mit der 3.Zahl wenn die 3.Zahl größer ist als die 2.Zahl
6.Schritt: Vertauscht man beide also die 2.Zahl und die 3.Zahl.

ausblenden Quelltext
1:
  - -					

user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
7.Schritt: Jetzt vergleicht man die 2.Zahl mit der 4.Zahl und wenn die 4.Zahl Größer ist, ändert man nix.

ausblenden Quelltext
1:
  -   -					

user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
8.Schritt: Jetzt vergleicht man die 3.Zahl mit der 4.Zahl wenn die 3.Zahl Größter ist als die 4.Zahl. Vertauscht man die beiden zahlen!

ausblenden Quelltext
1:
    - -					

user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
So muss es doch sein?^^
Und nochmal die Zusammenfassung:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
- -
-   -
-     -
  - -
  -   -
    - -
Sieht das so aus wie eins meiner Muster?

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.