Delphi-PRAXiS
Seite 16 von 17   « Erste     6141516 17      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Programm Hilfe (https://www.delphipraxis.net/163840-programm-hilfe.html)

boxer123 30. Okt 2011 10:13

AW: Programm Hilfe
 
die frage ist was ich falsch mache

DeddyH 30. Okt 2011 10:15

AW: Programm Hilfe
 
Woher soll ich das wissen? Aus den paar (immer noch unformatierten!) Zeilen Code kann ich das beim besten Willen nicht erkennen.

boxer123 30. Okt 2011 10:16

AW: Programm Hilfe
 
ja soll ich ganzen code reinlegen ?

DeddyH 30. Okt 2011 10:18

AW: Programm Hilfe
 
Der "arbeite"-Teil genügt völlig, aber dann mit nachvollziehbaren Einrückungen, sonst lese ich ihn nicht.

boxer123 30. Okt 2011 10:25

AW: Programm Hilfe
 
Wenn ich das programm so laufen lasse kommt immer 2 raus

Delphi-Quellcode:
zahltext:= edit1.text ;
for i:= 1 to 4 do
 begin
  a[ i ] :=copy (zahltext,i,1) ;
  b[ i ] :=copy (zahltext,i,1) ;
 end;
 zahl3 := 1;
 repeat
  doppelt := true;
  for i:= 1 to 3 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;
    zahl3 := zahl3 + 1;
  until doppelt;
  zahl3 := 1;
  repeat
    doppelt := true;
    for i:= 1 to 3 do
      for j:= i+1 to 4 do
        if b[ i ] >= b[ j ] then
          begin
            park := b[ i ] ;
            b[ i ] := b[ j ] ;
            b[ j ] := park ;
          end;
      zahl3:= zahl3 + 1;
    until doppelt;
zahltexteins := ' ' ;
zahltextzwei := ' ' ;
for i:=1 to 4 do
 begin
  zahltexteins:= zahltexteins + a[ i ] ;
  zahltextzwei:= zahltextzwei + b[ i ] ;
 end;
zahl1:= strtoint (zahltexteins) ;
zahl2:= strtoint (zahltextzwei) ;
differenz:= zahl1 - zahl2 ;
edit2.text:= IntToStr (zahl3);
end;;
end;
EDITTTTTT

DeddyH 30. Okt 2011 10:29

AW: Programm Hilfe
 
*OMG* Du solltest zuerst sortieren und dann erst in einer Schleife die jeweilige Differenz ermitteln. Außerdem solltest Du einmal nachschauen, welche Bedeutung Du Zahl3 zugedacht hast. Welche Zahl musst Du also in der Abbruchbedingung auswerten? Bestimmt nicht Zahl3. Und bgzl. der Formatierung: schon besser als vorher, trotzdem schau Dir doch mal an, wie die anderen das machen.

[edit] Sry, stimmt so nicht ganz, in der Schleife muss schon neu sortiert werden, Denkfehler meinerseits. Aber Du sortierst den falschen String, nämlich immer wieder denselben. [/edit]

DeddyH 30. Okt 2011 10:45

AW: Programm Hilfe
 
So, ich habe Deinen Code minimal angepasst, bei mir funktioniert es jetzt.

boxer123 30. Okt 2011 10:47

AW: Programm Hilfe
 
könntest du mir vielleicht sagen was ich falsch mache

DeddyH 30. Okt 2011 10:49

AW: Programm Hilfe
 
Zum Vergleich:
Delphi-Quellcode:
  zahl3 := 0; //zahl3 vorbelegen, sonst steht irgendwas drin
  zahltext := Edit1.text; //hier einmalig auf das Edit zugreifen
  repeat
    (* viel Code
       ... *)
    differenz := zahl1 - zahl2;
    zahltext := IntToStr(differenz); //hier neu zuweisen
  until differenz = 6174; //differenz auswerten, nicht den Zähler
  edit2.text := IntToStr(zahl3);

boxer123 30. Okt 2011 10:54

AW: Programm Hilfe
 
es klappt


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr.
Seite 16 von 17   « Erste     6141516 17      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz